aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/file.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/lib/file.c b/lib/file.c
index bce92bd2a..0bc0e4942 100644
--- a/lib/file.c
+++ b/lib/file.c
@@ -149,6 +149,16 @@ CURLcode Curl_file_connect(struct connectdata *conn)
}
data->reqdata.proto.file = file;
}
+ else {
+ /* file is not a protocol that can deal with "persistancy" */
+ file = data->reqdata.proto.file;
+ Curl_safefree(file->freepath);
+ if(file->fd != -1)
+ close(file->fd);
+ file->path = NULL;
+ file->freepath = NULL;
+ file->fd = -1;
+ }
#if defined(WIN32) || defined(MSDOS) || defined(__EMX__)
/* If the first character is a slash, and there's