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-2020-12279 (2020-04-27)

An issue was discovered in libgit2 before 0.28.4 and 0.9x before 0.99.0. checkout.c mishandles equivalent filenames that exist because of NTFS short names. This may allow remote code execution when cloning a repository. This issue is similar to CVE-2019-1353.

CVE-2020-12278 (2020-04-27)

An issue was discovered in libgit2 before 0.28.4 and 0.9x before 0.99.0. path.c mishandles equivalent filenames that exist because of NTFS Alternate Data Streams. This may allow remote code execution when cloning a repository. This issue is similar to CVE-2019-1352.

NAME

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

VERSION

version 0.84

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.