From e7ca69f1fa6b7e7b63f40080b1a6cea3a071b034 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 2e83685ba2a1e..2418b927caa98 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). (jedisct1) + 21 Feb 2019, PHP 7.3.3 - Core: diff --git a/ext/sodium/libsodium.c b/ext/sodium/libsodium.c index 125c8b74b249f..50a91198b61f2 100644 --- a/ext/sodium/libsodium.c +++ b/ext/sodium/libsodium.c @@ -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); }