From b2a9c5a1bab5bbcf2d0f7fd876b4205426a46fb7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dag-Erling=20Sm=C3=B8rgrav?= Date: Wed, 23 Jan 2008 20:57:59 +0000 Subject: [PATCH] Fix a regression introduced in rev 1.99: replace fclose(f) with a comment explaining why f cannot possibly be a valid FILE * at this point. MFC after: 1 day --- lib/libfetch/ftp.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/libfetch/ftp.c b/lib/libfetch/ftp.c index 914f674c473..475adda87b3 100644 --- a/lib/libfetch/ftp.c +++ b/lib/libfetch/ftp.c @@ -1181,7 +1181,11 @@ fetchStatFTP(struct url *url, struct url_stat *us, const char *flags) f = ftp_request(url, "STAT", us, ftp_get_proxy(url, flags), flags); if (f == NULL) return (-1); - fclose(f); + /* + * When op is "STAT", ftp_request() will return either NULL or + * (FILE *)1, never a valid FILE *, so we mustn't fclose(f) before + * returning, as it would cause a segfault. + */ return (0); }