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::Mempack - Git in-memory object database class

VERSION

version 0.74

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.