]> granicus.if.org Git - php/commitdiff
Fix bug #77646
authorFrank Denis <github@pureftpd.org>
Thu, 21 Feb 2019 15:10:27 +0000 (16:10 +0100)
committerFrank Denis <github@pureftpd.org>
Thu, 21 Feb 2019 15:33:03 +0000 (16:33 +0100)
NEWS
ext/sodium/libsodium.c

diff --git a/NEWS b/NEWS
index 72d8fac99d200bff245712f7bbe25327c80b9ffc..b1280cc2f40c9469bbf4f1debfb6d03bd7b8ba34 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -5,6 +5,9 @@ PHP                                                                        NEWS
 - MySQLi:
   . Fixed bug #77597 (mysqli_fetch_field hangs scripts). (Nikita)
 
+- sodium:
+  . Fixed bug #77646 (sign_detached() strings not terminated). (Frank)
+
 07 Mar 2019, PHP 7.2.16
 
 - Core:
index cfa5b7d6009b3a7196dfc68b7e08fac5cb321ac5..f7b3ea4dcae3742ac1b3a3a43842f83e27a5e66b 100644 (file)
@@ -1678,7 +1678,8 @@ PHP_FUNCTION(sodium_crypto_sign_detached)
                zend_throw_exception(sodium_exception_ce, "signature has a bogus size", 0);
                return;
        }
-       ZEND_ASSERT(ZSTR_VAL(signature)[signature_real_len] == 0);
+       PHP_SODIUM_ZSTR_TRUNCATE(signature, (size_t) signature_real_len);
+       ZSTR_VAL(signature)[signature_real_len] = 0;
 
        RETURN_STR(signature);
 }