summaryrefslogtreecommitdiff
path: root/ext
diff options
context:
space:
mode:
Diffstat (limited to 'ext')
-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 9b7f0589a9..ecd8c706b4 100644
--- a/ext/sockets/sockets.c
+++ b/ext/sockets/sockets.c
@@ -354,14 +354,15 @@ static char *php_strerror(int error TSRMLS_DC) {
#else
{
LPTSTR tmp = NULL;
+ buf = NULL;
- 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);
- LocalFree(tmp);
+ 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);
+ LocalFree(tmp);
- buf = SOCKETS_G(strerror_buf);
+ buf = SOCKETS_G(strerror_buf);
+ }
}
#endif