From 08089b575bdd0d7a99c016a31d06444f35084f7d Mon Sep 17 00:00:00 2001 From: Frank Denis Date: Thu, 21 Feb 2019 16:10:27 +0100 Subject: [PATCH] Fix bug #77646 --- NEWS | 3 +++ ext/sodium/libsodium.c | 3 ++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/NEWS b/NEWS index 72d8fac99d200..b1280cc2f40c9 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 cfa5b7d6009b3..f7b3ea4dcae37 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); }