Security Advisories (6)
CVE-2016-10128 (2017-03-24)

Buffer overflow in the git_pkt_parse_line function in transports/smart_pkt.c in the Git Smart Protocol support in libgit2 before 0.24.6 and 0.25.x before 0.25.1 allows remote attackers to have unspecified impact via a crafted non-flush packet.

CVE-2016-10129 (2017-03-24)

The Git Smart Protocol support in libgit2 before 0.24.6 and 0.25.x before 0.25.1 allows remote attackers to cause a denial of service (NULL pointer dereference) via an empty packet line.

CVE-2016-10130 (2017-03-24)

The http_connect function in transports/http.c in libgit2 before 0.24.6 and 0.25.x before 0.25.1 might allow man-in-the-middle attackers to spoof servers by leveraging clobbering of the error variable.

CVE-2018-25032 (2022-03-25)

zlib before 1.2.12 allows memory corruption when deflating (i.e., when compressing) if the input has many distant matches.

CVE-2018-8098 (2018-03-14)

Integer overflow in the index.c:read_entry() function while decompressing a compressed prefix length in libgit2 before v0.26.2 allows an attacker to cause a denial of service (out-of-bounds read) via a crafted repository index file.

CVE-2018-8099 (2018-03-14)

Incorrect returning of an error code in the index.c:read_entry() function leads to a double free in libgit2 before v0.26.2, which allows an attacker to cause a denial of service via a crafted repository index file.

NAME

Git::Raw::Odb - Git object database class

VERSION

version 0.73

DESCRIPTION

A Git::Raw::Odb represents a git object database.

WARNING: The API of this module is unstable and may change without warning (any change will be appropriately documented in the changelog).

METHODS

new( )

Create a new object database.

open( $directory )

Create a new object database and automatically add the two default backends. $directory should be the path to the 'objects' directory.

backend_count( )

Get the number of ODB backend objects.

refresh( )

Refresh the object database to load newly added files. If the object databases have changed on disk while the library is running, this function will force a reload of the underlying indexes. Use this method when you're confident that an external application has tampered with the ODB.

foreach( $repo, $callback )

Run $callback for every object available in the database. The callback receives a single argument, the OID of the object. A non-zero return value will terminate the loop.

add_backend( $backend, $priority )

Add a custom backend to the ODB. The backends are checked in relative ordering, based on the value of $priority.

add_alternate( $backend, $priority )

Add an alternate custom backend to the ODB. Alternate backends are always checked for objects after all the main backends have been exhausted. Writing is disabled on alternate backends.

read( $id )

Read an object from the database. Returns a Git::Raw::Odb::Object or undef if the object does not exist.

AUTHOR

Jacques Germishuys <jacquesg@striata.com>

LICENSE AND COPYRIGHT

Copyright 2016 Jacques Germishuys.

This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License.

See http://dev.perl.org/licenses/ for more information.