]> 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:14:33 +0000 (16:14 +0100)
NEWS
ext/sodium/libsodium.c

diff --git a/NEWS b/NEWS
index 2e83685ba2a1eec435d4167cbe6fb60b03c71fe9..2418b927caa98908ea0a626b025fe19401639f4e 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). (jedisct1)
+
 21 Feb 2019, PHP 7.3.3
 
 - Core:
index 125c8b74b249f351d50844fd31865ffd8aa7f8da..50a91198b61f2a2eb51960d8d5f6c87eaed5b769 100644 (file)
@@ -1677,7 +1677,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_NEW_STR(signature);
 }