diff options
author | Stanislav Malyshev <stas@php.net> | 2000-12-19 11:23:27 +0000 |
---|---|---|
committer | Stanislav Malyshev <stas@php.net> | 2000-12-19 11:23:27 +0000 |
commit | f487f5960a28449235fd4b4e396834431b820873 (patch) | |
tree | e1f7183e9566389b2a5db0d1d57ebd93dbec7ba6 /ext/standard/fsock.c | |
parent | 5cc6344edc085b66ccf2a85be25f90a4fa0b992a (diff) | |
download | php-git-f487f5960a28449235fd4b4e396834431b820873.tar.gz |
Fix possible crash
Diffstat (limited to 'ext/standard/fsock.c')
-rw-r--r-- | ext/standard/fsock.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/ext/standard/fsock.c b/ext/standard/fsock.c index dd273a4e1d..6a5c388eeb 100644 --- a/ext/standard/fsock.c +++ b/ext/standard/fsock.c @@ -259,12 +259,13 @@ static void php_fsockopen(INTERNAL_FUNCTION_PARAMETERS, int persistent) { struct sockaddr_in server; memset(&server, 0, sizeof(server)); - if((*args[0])->value.str.val[0] == 'u' && - (*args[0])->value.str.val[1] == 'd' && - (*args[0])->value.str.val[2] == 'p' && - (*args[0])->value.str.val[3] == ':' && - (*args[0])->value.str.val[4] == '/' && - (*args[0])->value.str.val[5] == '/') { + if(Z_STRLEN_PP(args[0]) >= 6 && + (*args[0])->value.str.val[0] == 'u' && + (*args[0])->value.str.val[1] == 'd' && + (*args[0])->value.str.val[2] == 'p' && + (*args[0])->value.str.val[3] == ':' && + (*args[0])->value.str.val[4] == '/' && + (*args[0])->value.str.val[5] == '/') { udp = 1; } |