From: Stanislav Malyshev Date: Sun, 7 Dec 2003 12:57:26 +0000 (+0000) Subject: fix potential buffer overrun X-Git-Tag: php-4.3.5RC1~95 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=da74ef221f8e33b044b23b4923add51c74422472;p=php fix potential buffer overrun --- diff --git a/sapi/cgi/libfcgi/os_unix.c b/sapi/cgi/libfcgi/os_unix.c index de4da1014d..217df79a9e 100644 --- a/sapi/cgi/libfcgi/os_unix.c +++ b/sapi/cgi/libfcgi/os_unix.c @@ -103,6 +103,11 @@ static int volatile maxFd = -1; static int shutdownPending = FALSE; static int shutdownNow = FALSE; +#ifndef HAVE_STRLCPY +#define strlcpy php_strlcpy +#endif +size_t strlcpy(char *dst, const char *src, size_t siz); + void OS_ShutdownPending() { shutdownPending = TRUE; @@ -293,7 +298,7 @@ int OS_CreateLocalIpcFd(const char *bindPath, int backlog) short port = 0; char host[MAXPATHLEN]; - strcpy(host, bindPath); + strlcpy(host, bindPath, MAXPATHLEN-1); if((tp = strchr(host, ':')) != 0) { *tp++ = 0; if((port = atoi(tp)) == 0) { @@ -396,7 +401,7 @@ int OS_FcgiConnect(char *bindPath) short port = 0; int tcp = FALSE; - strcpy(host, bindPath); + strlcpy(host, bindPath, MAXPATHLEN-1); if((tp = strchr(host, ':')) != 0) { *tp++ = 0; if((port = atoi(tp)) == 0) {