summaryrefslogtreecommitdiff
path: root/ext/sockets
diff options
context:
space:
mode:
authorIlia Alshanetsky <iliaa@php.net>2004-05-16 15:34:53 +0000
committerIlia Alshanetsky <iliaa@php.net>2004-05-16 15:34:53 +0000
commitbb88a86240b7dae6ce501ab474d07c2fcc7a49d9 (patch)
treed951148af93f6f2f7441e888b0c1ecce612db948 /ext/sockets
parented5ce047db7005b3dfc051918f01ce7091ee92e3 (diff)
downloadphp-git-bb88a86240b7dae6ce501ab474d07c2fcc7a49d9.tar.gz
Do not allocate error buffer at the start of every request.
Diffstat (limited to 'ext/sockets')
-rw-r--r--ext/sockets/sockets.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/ext/sockets/sockets.c b/ext/sockets/sockets.c
index 47d265a779..5a60bb386d 100644
--- a/ext/sockets/sockets.c
+++ b/ext/sockets/sockets.c
@@ -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;
}
/* }}} */