From 7a35fb5403d032cdd91d344c557c7de09745d696 Mon Sep 17 00:00:00 2001
From: Daniel Stenberg <daniel@haxx.se>
Date: Mon, 10 May 2004 14:45:11 +0000
Subject: [PATCH] slightly better dealing of bad mem situations

---
 src/main.c | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

diff --git a/src/main.c b/src/main.c
index 1c5bb71cf7..6cc264b24d 100644
--- a/src/main.c
+++ b/src/main.c
@@ -769,6 +769,10 @@ static int formparse(char *input,
     
     /* Allocate the contents */
     contents = strdup(contp+1);
+    if(!contents) {
+      fprintf(stderr, "out of memory\n");
+      return 1;
+    }
     contp = contents;
 
     if('@' == contp[0]) {
@@ -2927,6 +2931,8 @@ operate(struct Configurable *config, int argc, char *argv[])
                      (config->errors?config->errors:stderr):NULL);
       if(res != CURLE_OK) {
         clean_getout(config);
+        if(outfiles)
+          free(outfiles);
         break;
       }
     }
@@ -3021,10 +3027,9 @@ operate(struct Configurable *config, int argc, char *argv[])
           /* Create the directory hierarchy, if not pre-existant to a multiple
              file output call */
         
-          if(config->create_dirs)
-            if (-1 == create_dir_hierarchy(outfile)) {
-              return CURLE_WRITE_ERROR;
-            }
+          if(config->create_dirs &&
+             (-1 == create_dir_hierarchy(outfile)))
+            return CURLE_WRITE_ERROR;
           
           if(config->resume_from_current) {
             /* We're told to continue from where we are now. Get the
-- 
GitLab