summaryrefslogtreecommitdiffstats
path: root/mdadm.h
diff options
context:
space:
mode:
authorDustin Kirkland <kirkland@canonical.com>2009-01-08 09:25:33 +1100
committerNeilBrown <neilb@suse.de>2009-01-08 09:25:33 +1100
commit1a0ee0baf049809f9e67d60bb8158801eada3bd5 (patch)
tree2603b2aa3faebbd4b97d14728426f93dc302b189 /mdadm.h
parent89a10d84cb76492b7d8ea96d0a206b54702bcaff (diff)
downloadmdadm-1a0ee0baf049809f9e67d60bb8158801eada3bd5.tar.gz
mdadm-1a0ee0baf049809f9e67d60bb8158801eada3bd5.tar.xz
mdadm-1a0ee0baf049809f9e67d60bb8158801eada3bd5.zip
Fail overtly when asprintf fails to allocate memory
.. rather that causing a less-obvious violation of segments. Signed-off-by: NeilBrown <neilb@suse.de>
Diffstat (limited to 'mdadm.h')
-rw-r--r--mdadm.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/mdadm.h b/mdadm.h
index bc4b38e..b0a8c5e 100644
--- a/mdadm.h
+++ b/mdadm.h
@@ -528,6 +528,17 @@ extern int open_mddev(char *dev, int autof);
extern int open_mddev_devnum(char *devname, int devnum, char *name,
char *chosen_name, int parts);
+#include <assert.h>
+#include <stdarg.h>
+static inline int xasprintf(char **strp, const char *fmt, ...) {
+ va_list ap;
+ int ret;
+ va_start(ap, fmt);
+ ret = asprintf(strp, fmt, ap);
+ va_end(ap);
+ assert(ret >= 0);
+ return ret;
+}
#define LEVEL_MULTIPATH (-4)
#define LEVEL_LINEAR (-1)