X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fshared%2Fspecifier.c;fp=src%2Fshared%2Fspecifier.c;h=599027cd47e795f7ffc42304601ccddcbf017cf4;hb=7ae03f3697762548e49abb6be5ae7151b1ab9365;hp=ae00ae10bbf303fbb67ccbb5349ce65208b02095;hpb=02902965822816ec6fcc8a07d008802f17ca1e34;p=elogind.git diff --git a/src/shared/specifier.c b/src/shared/specifier.c index ae00ae10b..599027cd4 100644 --- a/src/shared/specifier.c +++ b/src/shared/specifier.c @@ -41,7 +41,8 @@ char *specifier_printf(const char *text, const Specifier table[], void *userdata assert(table); l = strlen(text); - if (!(r = new(char, l+1))) + r = new(char, l+1); + if (!r) return NULL; t = r; @@ -62,7 +63,8 @@ char *specifier_printf(const char *text, const Specifier table[], void *userdata char *n, *w; size_t k, j; - if (!(w = i->lookup(i->specifier, i->data, userdata))) { + w = i->lookup(i->specifier, i->data, userdata); + if (!w) { free(r); return NULL; } @@ -70,7 +72,8 @@ char *specifier_printf(const char *text, const Specifier table[], void *userdata j = t - r; k = strlen(w); - if (!(n = new(char, j + k + l + 1))) { + n = new(char, j + k + l + 1); + if (!n) { free(r); free(w); return NULL;