From f487f5960a28449235fd4b4e396834431b820873 Mon Sep 17 00:00:00 2001 From: Stanislav Malyshev Date: Tue, 19 Dec 2000 11:23:27 +0000 Subject: [PATCH] Fix possible crash --- ext/standard/fsock.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/ext/standard/fsock.c b/ext/standard/fsock.c index dd273a4e1d2..6a5c388eeb4 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; }