]> git.openfabrics.org - ~shefty/ibacm.git/commitdiff
import
authorSean Hefty <sean.hefty@intel.com>
Mon, 28 Nov 2011 20:21:38 +0000 (12:21 -0800)
committerSean Hefty <sean.hefty@intel.com>
Mon, 28 Nov 2011 20:21:38 +0000 (12:21 -0800)
meta
patches/p [new file with mode: 0644]

diff --git a/meta b/meta
index eb7958ab0198eb334f7ed2cbdecd669ea00eee8e..e965a0a55c82b91f9299ad9af20163bd522072fe 100644 (file)
--- a/meta
+++ b/meta
@@ -1,7 +1,8 @@
 Version: 1
-Previous: 602920607deb4bb877d1666caea662bb751449a2
-Head: 7f4faf0a26bcc043d55341d3f6d3a63b854bcb57
+Previous: d9ea0728735896db1c595efd26fd68137a9cbbd3
+Head: 848664671c8598d7c23f5ebac6af12354d865dfc
 Applied:
+  p: 848664671c8598d7c23f5ebac6af12354d865dfc
 Unapplied:
   malloc-err: 57342da6cab0db5b9b5dd2f5e75284d1500d2132
   af_ib: 414c0cd9299eadb9748ce805155e267ba6bff585
diff --git a/patches/p b/patches/p
new file mode 100644 (file)
index 0000000..2cd6bdf
--- /dev/null
+++ b/patches/p
@@ -0,0 +1,74 @@
+Bottom: 42e4729a57fa30e42770d8787e4b6b02c7bf2204
+Top:    ed6a134db24d206a944a53a1ebb514d04d70b176
+Author: Sean Hefty <sean.hefty@intel.com>
+Date:   2011-11-28 12:21:37 -0800
+
+After allocation of dynamic memory blocks, check that the allocation
+succeeded, if it failed handle it gracefully.
+
+Signed-off-by: Dotan Barak <dotanb@dev.mellanox.co.il>
+Reviewed-by: Erez Shitrit <erezsh@mellanox.co.il>
+
+
+---
+
+diff --git a/src/parse.c b/src/parse.c
+index d1c820f..6ab6041 100644
+--- a/src/parse.c
++++ b/src/parse.c
+@@ -71,14 +71,15 @@ static char *expand(char *basename, char *args, int *str_cnt, int *str_size)
+ char **parse(char *args, int *count)
+ {
+-      char **ptrs;
++      char **ptrs = NULL;
+       char *str_buf, *cpy, *token, *next;
+       int cnt = 0, str_size = 0;
+       int i;
+       /* make a copy that strtok can modify */
+-      cpy = malloc(strlen(args) + 1);
+-      strcpy(cpy, args);
++      cpy = strdup(args);
++      if (!cpy)
++              return NULL;
+       if (args[0] == '[') {
+               cpy[0] = '\0';
+@@ -92,6 +93,8 @@ char **parse(char *args, int *count)
+       if (!next) {
+               str_size = strlen(token) + 1;
+               str_buf = malloc(str_size);
++              if (!str_buf)
++                      goto out_cpy;
+               strcpy(str_buf, token);
+               cnt = 1;
+       } else {
+@@ -99,6 +102,9 @@ char **parse(char *args, int *count)
+       }
+       ptrs = malloc((sizeof str_buf * (cnt + 1)) + str_size);
++      if (!ptrs)
++              goto out_str_buf;
++
+       memcpy(&ptrs[cnt + 1], str_buf, str_size);
+       ptrs[0] = (char*) &ptrs[cnt + 1];
+@@ -106,10 +112,14 @@ char **parse(char *args, int *count)
+               ptrs[i] = index(ptrs[i - 1], 0) + 1;
+       ptrs[i] = NULL;
+-      free(cpy);
+-      free(str_buf);
+-
+       if (count)
+               *count = cnt;
++
++out_str_buf:
++        free(str_buf);
++
++out_cpy:
++      free(cpy);
++
+       return ptrs;
+ }