aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Quirk <richard@quirk.es>2015-07-25 13:03:02 +0000
committerRichard Quirk <richard@quirk.es>2015-07-25 13:03:02 +0000
commit913628e0d68564ab0f3f1e1e51902af93454effc (patch)
tree9bbd5d0e68270c7e6eef673423fe871dc88f28f4
parentAvoid passing null to strlen (diff)
downloadw3m-913628e0d68564ab0f3f1e1e51902af93454effc.tar.gz
w3m-913628e0d68564ab0f3f1e1e51902af93454effc.zip
Close temp file if pipe open fails
-rw-r--r--local.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/local.c b/local.c
index 9428319..2728627 100644
--- a/local.c
+++ b/local.c
@@ -386,9 +386,11 @@ localcgi_post(char *uri, char *qstr, FormList *request, char *referer)
cgi_basename = mybasename(file);
pid = open_pipe_rw(&fr, NULL);
/* Don't invoke gc after here, or the program might crash in some platforms */
- if (pid < 0)
+ if (pid < 0) {
+ if (fw)
+ fclose(fw);
return NULL;
- else if (pid) {
+ } else if (pid) {
if (fw)
fclose(fw);
return fr;