From 9a6ba225e264e59125d83d6359af60aaa8322c3d Mon Sep 17 00:00:00 2001 From: Hans Leidekker Date: Thu, 7 Jun 2007 16:32:24 +0200 Subject: [PATCH] wininet: More lenient parsing of the passive mode server response. --- dlls/wininet/ftp.c | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/dlls/wininet/ftp.c b/dlls/wininet/ftp.c index 604f3834359..d9291c25ec0 100644 --- a/dlls/wininet/ftp.c +++ b/dlls/wininet/ftp.c @@ -2545,18 +2545,11 @@ static BOOL FTP_DoPassive(LPWININETFTPSESSIONW lpwfs) struct sockaddr_in dataSocketAddress; p = lpszResponseBuffer+4; /* skip status code */ + while (*p != '\0' && (*p < '0' || *p > '9')) p++; - /* do a very strict check; we can improve that later. */ - - if (strncmp(p, "Entering Passive Mode", 21)) + if (*p == '\0') { - ERR("unknown response '%.*s', aborting\n", 21, p); - goto lend; - } - p += 21; /* skip string */ - if ((*p++ != ' ') || (*p++ != '(')) - { - ERR("unknown response format, aborting\n"); + ERR("no address found in response, aborting\n"); goto lend; }