1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
|
From: =?utf-8?q?Ond=C5=99ej_Sur=C3=BD?= <ondrej@sury.org>
Date: Mon, 23 Jan 2017 10:39:48 +0100
Subject: Use ntohl instead of doing LE conversion yourself
---
pecl_http-3.1.0/src/php_http_etag.c | 16 ++++------------
1 file changed, 4 insertions(+), 12 deletions(-)
diff --git a/pecl_http-3.1.0/src/php_http_etag.c b/pecl_http-3.1.0/src/php_http_etag.c
index c1e29c3..1430cfa 100644
--- a/pecl_http-3.1.0/src/php_http_etag.c
+++ b/pecl_http-3.1.0/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);
-#if 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);
|