Security Advisories (3)
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.

NAME

Git::Raw::Tree::Builder - Git tree builder class

VERSION

version 0.65

DESCRIPTION

A Git::Raw::Tree::Builder allows you to build Git tree objects.

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

METHODS

new( $repo, [$tree] )

Creates a new tree builder that will build trees in $repo. If $tree is passed, the contents of the tree builder are initialized from the contents of $tree.

clear( )

Clears the tree builder of all entries.

entry_count( )

Returns the number of entries contained in this tree builder.

get( $filename )

Return a Git::Raw::TreeEntry corresponding to $filename. Returns undef if no such entry exists.

insert( $filename, $object, $mode )

Adds (or updates) an entry in this tree builder. $object can be either a Git::Raw::Tree or Git::Raw::Blob object. Returns a Git::Raw::Tree::Entry object on success.

remove( $filename )

Removes the entry associated with the filename $filename from this tree builder.

write( )

Writes the tree object we've been building into the repository. Returns a Git::Raw::Tree object on success.

AUTHOR

Rob Hoelz <rob@hoelz.ro>

LICENSE AND COPYRIGHT

Copyright 2012 Alessandro Ghedini.

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.