diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/journal/journal-file.c | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/src/journal/journal-file.c b/src/journal/journal-file.c index d3e0214731..bb1443725f 100644 --- a/src/journal/journal-file.c +++ b/src/journal/journal-file.c @@ -3087,13 +3087,18 @@ int journal_file_open( } } - if (fname) + if (fname) { f->path = strdup(fname); - else /* If we don't know the path, fill in something explanatory and vaguely useful */ - asprintf(&f->path, "/proc/self/%i", fd); - if (!f->path) { - r = -ENOMEM; - goto fail; + if (!f->path) { + r = -ENOMEM; + goto fail; + } + } else { + /* If we don't know the path, fill in something explanatory and vaguely useful */ + if (asprintf(&f->path, "/proc/self/%i", fd) < 0) { + r = -ENOMEM; + goto fail; + } } f->chain_cache = ordered_hashmap_new(&uint64_hash_ops); |