]> granicus.if.org Git - php/commitdiff
fix Bug #49021: phar tar signature algorithm reports as Unknown (0) in getSignature...
authorGreg Beaver <cellog@php.net>
Wed, 22 Jul 2009 20:21:39 +0000 (20:21 +0000)
committerGreg Beaver <cellog@php.net>
Wed, 22 Jul 2009 20:21:39 +0000 (20:21 +0000)
ext/phar/tar.c

index f49907e0be56c7da48f39531835fc865ee730780..51157715452a511896e63a07fec3b5a45ed45cd4 100644 (file)
@@ -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);