'Digest::SHA' => {
'MAINTAINER' => 'mshelor',
- 'DISTRIBUTION' => 'MSHELOR/Digest-SHA-5.80.tar.gz',
+ 'DISTRIBUTION' => 'MSHELOR/Digest-SHA-5.81.tar.gz',
'FILES' => q[cpan/Digest-SHA],
'EXCLUDED' => [
qw( t/pod.t
Revision history for Perl extension Digest::SHA.
+5.81 Mon Jan 14 05:17:08 MST 2013
+ - corrected load subroutine (SHA.pm) to prevent double-free
+ -- Bug #82655: Security issue - segfault
+ -- thanks to Victor Efimov and Nicholas Clark
+ for technical expertise and suggestions
+
5.80 Mon Dec 10 14:15:26 MST 2012
- obtained noticeable speedup on Intel/gcc
-- by setting -O1 and -fomit-frame-pointer
-Digest::SHA version 5.80
+Digest::SHA version 5.81
========================
Digest::SHA is a complete implementation of the NIST Secure Hash
use Fcntl;
use integer;
-$VERSION = '5.80';
+$VERSION = '5.81';
require Exporter;
require DynaLoader;
return($class);
}
shaclose($$class) if $$class;
- $$class = shaopen($alg) || return;
+ return unless $$class = shaopen($alg);
return($class);
}
$alg = 1 unless defined $alg;
sub dump {
my $self = shift;
- my $file = shift || "";
+ my $file = shift;
+ $file = "" unless defined $file;
shadump($file, $$self) || return;
return($self);
}
sub load {
my $class = shift;
- my $file = shift || "";
+ my $file = shift;
+
+ $file = "" unless defined $file;
if (ref($class)) { # instance method
shaclose($$class) if $$class;
- $$class = shaload($file) || return;
+ return unless $$class = shaload($file);
return($class);
}
my $state = shaload($file) || return;
##
## Copyright (C) 2003-2012 Mark Shelor, All Rights Reserved
##
- ## Version: 5.80
- ## Mon Dec 10 14:15:26 MST 2012
+ ## Version: 5.81
+ ## Mon Jan 14 05:17:08 MST 2013
## shasum SYNOPSIS adapted from GNU Coreutils sha1sum.
## Add an "-a" option for algorithm selection, a "-p"
use Fcntl;
use Getopt::Long;
-my $VERSION = "5.80";
+my $VERSION = "5.81";
## Try to use Digest::SHA. If not installed, use the slower
*
* Copyright (C) 2003-2012 Mark Shelor, All Rights Reserved
*
- * Version: 5.80
- * Mon Dec 10 14:15:26 MST 2012
+ * Version: 5.81
+ * Mon Jan 14 05:17:08 MST 2013
*
*/
*
* Copyright (C) 2003-2012 Mark Shelor, All Rights Reserved
*
- * Version: 5.80
- * Mon Dec 10 14:15:26 MST 2012
+ * Version: 5.81
+ * Mon Jan 14 05:17:08 MST 2013
*
*/
*
* Copyright (C) 2003-2012 Mark Shelor, All Rights Reserved
*
- * Version: 5.80
- * Mon Dec 10 14:15:26 MST 2012
+ * Version: 5.81
+ * Mon Jan 14 05:17:08 MST 2013
*
*/
/* shaopen: creates a new digest object */
SHA *shaopen(int alg)
{
- SHA *s;
+ SHA *s = NULL;
if (alg != SHA1 && alg != SHA224 && alg != SHA256 &&
alg != SHA384 && alg != SHA512 &&
*
* Copyright (C) 2003-2012 Mark Shelor, All Rights Reserved
*
- * Version: 5.80
- * Mon Dec 10 14:15:26 MST 2012
+ * Version: 5.81
+ * Mon Jan 14 05:17:08 MST 2013
*
*/