guile-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH 1/2] Fix memory leak on `realloc' failure


From: KAction
Subject: [PATCH 1/2] Fix memory leak on `realloc' failure
Date: Thu, 10 Apr 2014 09:37:45 +0400

From: Dmitry Bogatov <address@hidden>

Signed-off-by: Dmitry Bogatov <address@hidden>
---
 libguile/script.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/libguile/script.c b/libguile/script.c
index 052ab8d..7b737f7 100644
--- a/libguile/script.c
+++ b/libguile/script.c
@@ -247,7 +247,10 @@ script_read_arg (FILE *f)
              size = (size + 1) * 2;
              buf = realloc (buf, size);
              if (! buf)
-               return 0;
+               {
+                 free (buf);
+                 return 0;
+               }
            }
          buf[len++] = c;
          break;
@@ -330,7 +333,10 @@ scm_get_meta_args (int argc, char **argv)
          while ((narg = script_read_arg (f)))
            if (!(nargv = (char **) realloc (nargv,
                                             (1 + ++nargc) * sizeof (char *))))
+             {
+               free (nargv);
                return 0L;
+             }
            else
              nargv[nargi++] = narg;
          fclose (f);
-- 
Please keep me CC.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]