From 5c8af959bf1b01f58bc47e77dcb18a7bac86bc6f Mon Sep 17 00:00:00 2001 From: =?utf8?q?Ond=C5=99ej=20Sur=C3=BD?= Date: Mon, 23 Jan 2017 10:39:48 +0100 Subject: [PATCH] Use ntohl instead of doing LE conversion yourself --- src/php_http_etag.c | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) diff --git a/src/php_http_etag.c b/src/php_http_etag.c index ceb82e3..1430cfa 100644 --- a/src/php_http_etag.c +++ b/src/php_http_etag.c @@ -57,18 +57,10 @@ char *php_http_etag_finish(php_http_etag_t *e) char *etag = NULL; if (!strcasecmp(e->mode, "crc32b")) { - unsigned char buf[4]; - - *((uint *) e->ctx) = ~*((uint *) e->ctx); -#ifdef WORDS_BIGENDIAN - etag = php_http_etag_digest((unsigned char *) e->ctx, 4); -#else - buf[0] = ((unsigned char *) e->ctx)[3]; - buf[1] = ((unsigned char *) e->ctx)[2]; - buf[2] = ((unsigned char *) e->ctx)[1]; - buf[3] = ((unsigned char *) e->ctx)[0]; - etag = php_http_etag_digest(buf, 4); -#endif + uint e_ctx; + memcpy(&e_ctx, e->ctx, 4); + e_ctx = ntohl(~e_ctx); + etag = php_http_etag_digest((unsigned char *) &e_ctx, 4); } else if ((!strcasecmp(e->mode, "sha1"))) { PHP_SHA1Final(digest, e->ctx); etag = php_http_etag_digest(digest, 20); -- 2.30.2