From: Frank Denis Date: Mon, 24 Jul 2017 12:26:05 +0000 (+0200) Subject: sodium ext: don't reinvent sodium_increment() and sodium_add() X-Git-Tag: php-7.2.0beta2~55 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=742895f60c82f2caa22e933606a4807c73ca6851;p=php sodium ext: don't reinvent sodium_increment() and sodium_add() --- diff --git a/ext/sodium/libsodium.c b/ext/sodium/libsodium.c index 139b807366..8e88c8bf72 100644 --- a/ext/sodium/libsodium.c +++ b/ext/sodium/libsodium.c @@ -552,9 +552,7 @@ PHP_FUNCTION(sodium_increment) { zval *val_zv; unsigned char *val; - size_t i; size_t val_len; - unsigned int c; if (zend_parse_parameters(ZEND_NUM_ARGS(), "z", &val_zv) == FAILURE) { @@ -569,12 +567,7 @@ PHP_FUNCTION(sodium_increment) sodium_separate_string(val_zv); val = (unsigned char *) Z_STRVAL(*val_zv); val_len = Z_STRLEN(*val_zv); - c = 1U << 8; - for (i = (size_t) 0U; i < val_len; i++) { - c >>= 8; - c += val[i]; - val[i] = (unsigned char) c; - } + sodium_increment(val, val_len); } PHP_FUNCTION(sodium_add) @@ -582,10 +575,8 @@ PHP_FUNCTION(sodium_add) zval *val_zv; unsigned char *val; unsigned char *addv; - size_t i; size_t val_len; size_t addv_len; - unsigned int c; if (zend_parse_parameters(ZEND_NUM_ARGS(), "zs", &val_zv, &addv, &addv_len) == FAILURE) { @@ -604,12 +595,7 @@ PHP_FUNCTION(sodium_add) zend_throw_exception(sodium_exception_ce, "values must have the same length", 0); return; } - c = 0U; - for (i = (size_t) 0U; i < val_len; i++) { - c += val[i] + addv[i]; - val[i] = (unsigned char) c; - c >>= 8; - } + sodium_add(val, addv, val_len); } PHP_FUNCTION(sodium_memcmp)