Why didn't you MFH the other changes too..? (The ZLIB stuff)
--Jani
On Mon, 10 Feb 2003, Moriyoshi Koizumi wrote:
>moriyoshi Mon Feb 10 15:13:36 2003 EDT
>
> Modified files: (Branch: PHP_4_3)
> /php4/main SAPI.c
> Log:
> MFH: fixed possible buffer overflow in 64bit systems
>
>
>Index: php4/main/SAPI.c
>diff -u php4/main/SAPI.c:1.155.2.6 php4/main/SAPI.c:1.155.2.7
>--- php4/main/SAPI.c:1.155.2.6 Sun Feb 9 16:28:49 2003
>+++ php4/main/SAPI.c Mon Feb 10 15:13:36 2003
>@@ -18,7 +18,7 @@
> +----------------------------------------------------------------------+
> */
>
>-/* $Id: SAPI.c,v 1.155.2.6 2003/02/09 21:28:49 sas Exp $ */
>+/* $Id: SAPI.c,v 1.155.2.7 2003/02/10 20:13:36 moriyoshi Exp $ */
>
> #include <ctype.h>
> #include <sys/stat.h>
>@@ -619,14 +619,18 @@
>
> 0, &result_len, -1 TSRMLS_CC);
> if(result_len==ptr_len) {
> char *lower_temp =
>estrdup(ptr);
>- char conv_temp[32];
>+ char conv_temp[64];
> int conv_len;
>
>
>php_strtolower(lower_temp,strlen(lower_temp));
> /* If there is no realm string
>at all, append one */
>
>if(!strstr(lower_temp,"realm")) {
> efree(result);
>- conv_len =
>sprintf(conv_temp," realm=\"%ld\"",myuid);
>+ conv_len =
>snprintf(conv_temp, sizeof(conv_temp), " realm=\"%ld\"",myuid);
>+ /* some broken
>snprintf() impls may return a negative value on failure */
>+ if (conv_len < 0) {
>+ conv_len = 0;
>+ }
> result =
>emalloc(ptr_len+conv_len+1);
> result_len =
>ptr_len+conv_len;
> memcpy(result, ptr,
>ptr_len);
>
>
>
>
--
<- For Sale! ->
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php