Security Advisories (2)
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::Mempack - Git in-memory object database class

VERSION

version 0.82

SYNOPSIS

use Git::Raw;

my $mempack = Git::Raw::Mempack -> new;
my $odb = $repo -> odb;
$odb -> add_backend($mempack, 99);

# Create blobs, trees and commits...

# Index the packfile and persist
my $odb_path = catfile($repo -> path, 'objects');
my $tp = Git::Raw::TransferProgress -> new;
my $indexer = Git::Raw::Indexer -> new($odb_path, $odb);

my $pack = $mempack -> dump($repo);
$indexer -> append($pack, $tp);
$indexer -> commit($tp);

DESCRIPTION

A Git::Raw::Mempack represents a git in-memory object database.

METHODS

new( )

Create a new mempack backend.

dump( $repo )

Dump all the queued in-memory writes to a packfile. Returns the contents of the packfile. It is the caller's responsibility to ensure that the generated packfile is available to the repository.

reset( )

Reset the mempack by clearing all the queued objects.

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.