]> granicus.if.org Git - php/commitdiff
Do not allocate error buffer at the start of every request.
authorIlia Alshanetsky <iliaa@php.net>
Sun, 16 May 2004 15:34:53 +0000 (15:34 +0000)
committerIlia Alshanetsky <iliaa@php.net>
Sun, 16 May 2004 15:34:53 +0000 (15:34 +0000)
ext/sockets/sockets.c

index 47d265a7790bc3c70ae49b53c9650301e7e288d8..5a60bb386dfa89825281a3c81058caa4f12f7a39 100644 (file)
@@ -322,7 +322,7 @@ static char *php_strerror(int error TSRMLS_DC)
                buf = hstrerror(error);
 #else
                {
-                       sprintf(SOCKETS_G(strerror_buf), "Host lookup error %d", error);
+                       spprintf(&(SOCKETS_G(strerror_buf), "Host lookup error %d", error);
                        buf = SOCKETS_G(strerror_buf);
                }
 #endif
@@ -336,7 +336,7 @@ static char *php_strerror(int error TSRMLS_DC)
 
                if (FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS,
                                  NULL, error, MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), (LPTSTR) &tmp, 0, NULL)) {
-                       strlcpy(SOCKETS_G(strerror_buf), (char *) tmp, 10000);
+                       SOCKETS_G(strerror_buf) = estrndup(tmp);
                        LocalFree(tmp);
                
                        buf = SOCKETS_G(strerror_buf);
@@ -503,8 +503,6 @@ PHP_MINFO_FUNCTION(sockets)
 /* {{{ PHP_RINIT_FUNCTION */
 PHP_RINIT_FUNCTION(sockets)
 {
-       SOCKETS_G(strerror_buf) = emalloc(16384);
-
        return SUCCESS;
 }
 /* }}} */
@@ -512,8 +510,11 @@ PHP_RINIT_FUNCTION(sockets)
 /* {{{ PHP_RSHUTDOWN_FUNCTION */
 PHP_RSHUTDOWN_FUNCTION(sockets)
 {
-       efree(SOCKETS_G(strerror_buf));
-       
+       if (SOCKETS_G(strerror_buf)) {
+               efree(SOCKETS_G(strerror_buf));
+               SOCKETS_G(strerror_buf) = NULL;
+       }
+
        return SUCCESS;
 }
 /* }}} */