moriyoshi               Fri Mar 28 13:24:02 2003 EDT

  Modified files:              
    /php4/sapi/cgi      cgi_main.c 
  Log:
  Do the right fix..
  
  
Index: php4/sapi/cgi/cgi_main.c
diff -u php4/sapi/cgi/cgi_main.c:1.221 php4/sapi/cgi/cgi_main.c:1.222
--- php4/sapi/cgi/cgi_main.c:1.221      Fri Mar 28 12:53:36 2003
+++ php4/sapi/cgi/cgi_main.c    Fri Mar 28 13:24:02 2003
@@ -20,7 +20,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: cgi_main.c,v 1.221 2003/03/28 17:53:36 moriyoshi Exp $ */
+/* $Id: cgi_main.c,v 1.222 2003/03/28 18:24:02 moriyoshi Exp $ */
 
 #include "php.h"
 #include "php_globals.h"
@@ -389,7 +389,10 @@
        char *buf = NULL;
        if (!name) return NULL;
        len = strlen(name) + (value?strlen(value):0) + sizeof("=") + 2;
-       buf = (char *)emalloc(len);
+       buf = (char *)malloc(len);
+       if (buf == NULL) {
+               return getenv(name);
+       }
        if (value) {
                snprintf(buf,len-1,"%s=%s", name, value);
        } else {
@@ -403,7 +406,7 @@
        if (!FCGX_IsCGI()) {
                FCGX_Request *request = (FCGX_Request *)SG(server_context);
                FCGX_PutEnv(request,buf);
-               efree(buf);
+               free(buf);
                return sapi_cgibin_getenv(name,0 TSRMLS_CC);
        }
 #endif
@@ -412,11 +415,7 @@
                this leaks, but it's only cgi anyway, we'll fix
                it for 5.0
        */
-       if (value)
-               putenv(strdup(buf));
-       else
-               putenv(buf);
-       efree(buf);
+       putenv(buf);
        return getenv(name);
 }
 
@@ -808,8 +807,8 @@
                        } else {
                                /* make sure path_info/translated are empty */
                                script_path_translated = 
_sapi_cgibin_putenv("SCRIPT_FILENAME",script_path_translated TSRMLS_CC);
-                               _sapi_cgibin_putenv("PATH_INFO", "" TSRMLS_CC);
-                               _sapi_cgibin_putenv("PATH_TRANSLATED", "" TSRMLS_CC);
+                               _sapi_cgibin_putenv("PATH_INFO", NULL TSRMLS_CC);
+                               _sapi_cgibin_putenv("PATH_TRANSLATED", NULL TSRMLS_CC);
                        }
                        SG(request_info).request_uri = 
sapi_cgibin_getenv("SCRIPT_NAME",0 TSRMLS_CC);
                } else {



-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to