summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFrank Denis <github@pureftpd.org>2019-02-21 16:10:27 +0100
committerFrank Denis <github@pureftpd.org>2019-02-21 16:33:03 +0100
commit08089b575bdd0d7a99c016a31d06444f35084f7d (patch)
tree7ce7e9d2e75bd6c9bc2bcc18d658d0dc296588e1
parent934691fabba00b2cc36a7a0c93279d41f399c7ba (diff)
downloadphp-git-08089b575bdd0d7a99c016a31d06444f35084f7d.tar.gz
Fix bug #77646
-rw-r--r--NEWS3
-rw-r--r--ext/sodium/libsodium.c3
2 files changed, 5 insertions, 1 deletions
diff --git a/NEWS b/NEWS
index 72d8fac99d..b1280cc2f4 100644
--- 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:
diff --git a/ext/sodium/libsodium.c b/ext/sodium/libsodium.c
index cfa5b7d600..f7b3ea4dca 100644
--- a/ext/sodium/libsodium.c
+++ b/ext/sodium/libsodium.c
@@ -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);
}