From: Michael Wallner Date: Fri, 7 Oct 2005 10:52:50 +0000 (+0000) Subject: - fixed memory corruption X-Git-Tag: RELEASE_0_15_0~35 X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-http;a=commitdiff_plain;h=b5ea35825528c10ee3d78727437317a9d3bc3336 - fixed memory corruption - added 4 etag mode tests --- diff --git a/http_send_api.c b/http_send_api.c index 49c0aed..f22a3d1 100644 --- a/http_send_api.c +++ b/http_send_api.c @@ -388,7 +388,7 @@ PHP_HTTP_API STATUS _http_send_ex(const void *data_ptr, size_t data_size, http_s if (etag = http_etag(data_ptr, data_size, data_mode)) { char *sent_header = NULL; - http_send_etag_ex(etag, 32, &sent_header); + http_send_etag_ex(etag, strlen(etag), &sent_header); if (http_match_etag("HTTP_IF_NONE_MATCH", etag)) { return http_exit_ex(304, sent_header, NULL, 0); } else { diff --git a/tests/etag_mode_001.phpt b/tests/etag_mode_001.phpt new file mode 100644 index 0000000..19223a4 --- /dev/null +++ b/tests/etag_mode_001.phpt @@ -0,0 +1,22 @@ +--TEST-- +crc32 etag +--SKIPIF-- + +--FILE-- + +--EXPECTF-- +Content-type: %s +X-Powered-By: PHP/%s +Cache-Control: private, must-revalidate, max-age=0 +Accept-Ranges: bytes +ETag: "28ad514e" +Content-Length: 4 + +abc diff --git a/tests/etag_mode_002.phpt b/tests/etag_mode_002.phpt new file mode 100644 index 0000000..229b22d --- /dev/null +++ b/tests/etag_mode_002.phpt @@ -0,0 +1,22 @@ +--TEST-- +sha1 etag +--SKIPIF-- + +--FILE-- + +--EXPECTF-- +Content-type: %s +X-Powered-By: PHP/%s +Cache-Control: private, must-revalidate, max-age=0 +Accept-Ranges: bytes +ETag: "03cfd743661f07975fa2f1220c5194cbaff48451" +Content-Length: 4 + +abc diff --git a/tests/etag_mode_003.phpt b/tests/etag_mode_003.phpt new file mode 100644 index 0000000..76abcfc --- /dev/null +++ b/tests/etag_mode_003.phpt @@ -0,0 +1,22 @@ +--TEST-- +md5 etag +--SKIPIF-- + +--FILE-- + +--EXPECTF-- +Content-type: %s +X-Powered-By: PHP/%s +Cache-Control: private, must-revalidate, max-age=0 +Accept-Ranges: bytes +ETag: "0bee89b07a248e27c83fc3d5951213c1" +Content-Length: 4 + +abc diff --git a/tests/etag_mode_004.phpt b/tests/etag_mode_004.phpt new file mode 100644 index 0000000..571933e --- /dev/null +++ b/tests/etag_mode_004.phpt @@ -0,0 +1,22 @@ +--TEST-- +mhash etag +--SKIPIF-- + +--FILE-- + +--EXPECTF-- +Content-type: %s +X-Powered-By: PHP/%s +Cache-Control: private, must-revalidate, max-age=0 +Accept-Ranges: bytes +ETag: "53efa9e423f86dabd449b3e23dd0350def661b9e7055b23ceb2230c8b61bc0766514957ea9d349a88ef794715a1a17a409b549edfd6f43d696e63407fff3541c" +Content-Length: 4 + +abc