diff options
author | Lennart Poettering <lennart@poettering.net> | 2015-07-23 23:36:34 +0200 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2015-07-23 23:36:36 +0200 |
commit | 901108257e3b1da07033f4e6e053b5be42b1c8b0 (patch) | |
tree | bd71cdb965e9c1b6c77c5ea8c5fc1a8c46f877c8 | |
parent | c5f44880ca35bc0246ddf90cbf2af45b10e4a4d5 (diff) |
fileio: get_status_field() don't clobber arg on OOM
According to our coding style guidelines we shouldn't clobber
pass-by-ref arguments on failure, hence don't do so here either.
-rw-r--r-- | src/basic/fileio.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/basic/fileio.c b/src/basic/fileio.c index d592bf5ac9..2216853777 100644 --- a/src/basic/fileio.c +++ b/src/basic/fileio.c @@ -786,7 +786,7 @@ int executable_is_script(const char *path, char **interpreter) { */ int get_status_field(const char *filename, const char *pattern, char **field) { _cleanup_free_ char *status = NULL; - char *t; + char *t, *f; size_t len; int r; @@ -820,9 +820,10 @@ int get_status_field(const char *filename, const char *pattern, char **field) { len = strcspn(t, WHITESPACE); - *field = strndup(t, len); - if (!*field) + f = strndup(t, len); + if (!f) return -ENOMEM; + *field = f; return 0; } |