From: Greg Beaver Date: Wed, 22 Jul 2009 20:21:39 +0000 (+0000) Subject: fix Bug #49021: phar tar signature algorithm reports as Unknown (0) in getSignature... X-Git-Tag: php-5.4.0alpha1~191^2~3017 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=d1d69cc7964b6d58df0ffa31a2bd2312ab1a261a;p=php fix Bug #49021: phar tar signature algorithm reports as Unknown (0) in getSignature() call --- diff --git a/ext/phar/tar.c b/ext/phar/tar.c index f49907e0be..5115771545 100644 --- a/ext/phar/tar.c +++ b/ext/phar/tar.c @@ -283,7 +283,8 @@ bail: #else # define PHAR_GET_32(buffer) (php_uint32) *(buffer) #endif - if (FAILURE == phar_verify_signature(fp, php_stream_tell(fp) - size - 512, PHAR_GET_32(buf), buf + 8, size - 8, fname, &myphar->signature, &myphar->sig_len, error TSRMLS_CC)) { + myphar->sig_flags = PHAR_GET_32(buf); + if (FAILURE == phar_verify_signature(fp, php_stream_tell(fp) - size - 512, myphar->sig_flags, buf 8, size - 8, fname, &myphar->signature, &myphar->sig_len, error TSRMLS_CC)) { if (error) { char *save = *error; spprintf(error, 4096, "phar error: tar-based phar \"%s\" signature cannot be verified: %s", fname, save);