diff options
author | Zdenek Kabelac <zkabelac@redhat.com> | 2012-02-10 13:56:19 +0000 |
---|---|---|
committer | Zdenek Kabelac <zkabelac@redhat.com> | 2012-02-10 13:56:19 +0000 |
commit | 36ddbdbbe2082f8832218e70ae0d62f6e77c7a28 (patch) | |
tree | aa47d276b1bfb594dc128adb102e4c2523a2ad1a /libdm/libdm-string.c | |
parent | c046a59e7fe65d55c0cf2218e830563581396864 (diff) | |
download | lvm2-36ddbdbbe2082f8832218e70ae0d62f6e77c7a28.tar.gz lvm2-36ddbdbbe2082f8832218e70ae0d62f6e77c7a28.tar.xz lvm2-36ddbdbbe2082f8832218e70ae0d62f6e77c7a28.zip |
Return error for failing allocation
Fix case, where final strdup would have failed and it would miss to return
failure for this case and return success and NULL pointer.
Diffstat (limited to 'libdm/libdm-string.c')
-rw-r--r-- | libdm/libdm-string.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/libdm/libdm-string.c b/libdm/libdm-string.c index 67eabf5d..d9b444c1 100644 --- a/libdm/libdm-string.c +++ b/libdm/libdm-string.c @@ -156,7 +156,9 @@ int dm_asprintf(char **result, const char *format, ...) } } - *result = dm_strdup(buf); + if (!(*result = dm_strdup(buf))) + n = -2; /* return -1 */ + dm_free(buf); return n + 1; } |