chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
condition: properly allow passing back errors from condition checks
[elogind.git]
/
src
/
shared
/
util.c
diff --git
a/src/shared/util.c
b/src/shared/util.c
index 0f44eb5afe7a8c57c8985a8397747339d4a11c75..d33f349d816d9a667b236e420609c6e519d2de37 100644
(file)
--- a/
src/shared/util.c
+++ b/
src/shared/util.c
@@
-3179,7
+3179,8
@@
char *replace_env(const char *format, char **env) {
case CURLY:
if (*e == '{') {
case CURLY:
if (*e == '{') {
- if (!(k = strnappend(r, word, e-word-1)))
+ k = strnappend(r, word, e-word-1);
+ if (!k)
goto fail;
free(r);
goto fail;
free(r);
@@
-3189,7
+3190,8
@@
char *replace_env(const char *format, char **env) {
state = VARIABLE;
} else if (*e == '$') {
state = VARIABLE;
} else if (*e == '$') {
- if (!(k = strnappend(r, word, e-word)))
+ k = strnappend(r, word, e-word);
+ if (!k)
goto fail;
free(r);
goto fail;
free(r);
@@
-3221,7
+3223,8
@@
char *replace_env(const char *format, char **env) {
}
}
}
}
- if (!(k = strnappend(r, word, e-word)))
+ k = strnappend(r, word, e-word);
+ if (!k)
goto fail;
free(r);
goto fail;
free(r);