| From 0c667188e0c6cda615a036b8a2b4125f2c404dde Mon Sep 17 00:00:00 2001 |
| From: SaltyMilk <soufiane.elmelcaoui@gmail.com> |
| Date: Mon, 10 Jul 2023 21:43:28 +0200 |
| Subject: [PATCH] fopen: optimize |
| |
| Closes #11419 |
| --- |
| lib/fopen.c | 12 ++++++------ |
| 1 file changed, 6 insertions(+), 6 deletions(-) |
| |
| diff --git a/lib/fopen.c b/lib/fopen.c |
| index c9c9e3d6e73a2..b6e3cadddef65 100644 |
| --- a/lib/fopen.c |
| +++ b/lib/fopen.c |
| @@ -56,13 +56,13 @@ CURLcode Curl_fopen(struct Curl_easy *data, const char *filename, |
| int fd = -1; |
| *tempname = NULL; |
| |
| - if(stat(filename, &sb) == -1 || !S_ISREG(sb.st_mode)) { |
| - /* a non-regular file, fallback to direct fopen() */ |
| - *fh = fopen(filename, FOPEN_WRITETEXT); |
| - if(*fh) |
| - return CURLE_OK; |
| + *fh = fopen(filename, FOPEN_WRITETEXT); |
| + if(!*fh) |
| goto fail; |
| - } |
| + if(fstat(fileno(*fh), &sb) == -1 || !S_ISREG(sb.st_mode)) |
| + return CURLE_OK; |
| + fclose(*fh); |
| + *fh = NULL; |
| |
| result = Curl_rand_hex(data, randsuffix, sizeof(randsuffix)); |
| if(result) |