Security Advisories (3)
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-10888 (2018-07-10)

A flaw was found in libgit2 before version 0.27.3. A missing check in git_delta_apply function in delta.c file, may lead to an out-of-bound read while reading a binary delta file. An attacker may use this flaw to cause a Denial of Service.

CVE-2018-10887 (2018-07-10)

A flaw was found in libgit2 before version 0.27.3. It has been discovered that an unexpected sign extension in git_delta_apply function in delta.c file may lead to an integer overflow which in turn leads to an out of bound read, allowing to read before the base object. An attacker may use this flaw to leak memory addresses or cause a Denial of Service.

NAME

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

VERSION

version 0.76

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.

write( $data, type )

Write an object directly to the database. Returns the OID of the object. $type should be one of the values as defines in the constants section of Git::Raw::Object.

hash( $data, $type )

Determine the object-ID (sha1 hash) of $data. $type should be one of the values as defined in the constants section of Git::Raw::Object.

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.