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::Reflog - Git reflog class

VERSION

version 0.82

SYNOPSIS

use Git::Raw;

# open the Git repository at $path
my $repo = Git::Raw::Repository -> open($path);

# get the master branch
my $master = Git::Raw::Branch -> lookup($repo, 'master', 1);

# retrieve the reflog for 'master'
my $reflog = $master -> reflog;

# print out reflog information
my @entries = $reflog -> entries;
foreach my $entry (@entries) {
    my $committer = $entry -> committer;
    print "Committer:", "\n";
    print "\t", "Name:   ", $committer -> name, "\n";
    print "\t", "E-Mail  ", $committer -> email, "\n";
    print "\t", "Time:   ", $committer -> time, "\n";
    print "\t", "Offset: ", $committer -> offset, "\n";
    print "\n";

    print "Message: ", $entry -> message, "\n";
    print "Old id:  ", $entry -> old_id, "\n";
    print "New id:  ", $entry -> new_id, "\n";
}

# add a new entry to the reflog
my $signature = Git::Raw::Signature -> default($repo);
$reflog -> append("Hello", $signature);
$reflog -> write;

# drop an entry from the reflog
$reflog -> drop(0);
$reflog -> write;

# remove the reflog
$reflog -> delete;
$reflog -> write;

DESCRIPTION

A Git::Raw::Reflog represents a Git reflog.

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

METHODS

open( $reference )

Open the reflog for the reference $reference.

delete( )

Delete the reflog for the reference.

append( $message [, $signature])

Add a new entry to the reflog. If $signature is not provided, the default signature, Git::Raw::Signature->default() will be used.

drop( $index )

Remove entry $index from the reflog.

write( )

Write the reflog back to disk.

entry_count( )

Retrieve the number of entries in the reflog.

entries( [$index, $count] )

Retrieve a list of Git::Raw::Reflog::Entry objects.

AUTHOR

Alessandro Ghedini <alexbio@cpan.org>

Jacques Germishuys <jacquesg@striata.com>

LICENSE AND COPYRIGHT

Copyright 2014 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.