File: 0003-Use-ntohl-instead-of-doing-LE-conversion-yourself.patch

package info (click to toggle)
php-pecl-http 3.1.0%2B2.6.0-4
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 4,060 kB
  • ctags: 3,725
  • sloc: ansic: 37,486; xml: 818; php: 635; pascal: 164; makefile: 2
file content (35 lines) | stat: -rw-r--r-- 1,239 bytes parent folder | download
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);