From: Yu Watanabe Date: Mon, 22 Jul 2019 01:55:10 +0000 (+0900) Subject: pstopre: fix return value of list_files() X-Git-Tag: v243-rc1~74^2~5 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=337874a45fff46a80e4974c681a5e651f3a0fac9;p=thirdparty%2Fsystemd.git pstopre: fix return value of list_files() Previously, the return value of the last read_full_file() is returned. This makes the error in read_full_file() is always ignored. --- diff --git a/src/pstore/pstore.c b/src/pstore/pstore.c index 0febbcb7167..86361d8ebc5 100644 --- a/src/pstore/pstore.c +++ b/src/pstore/pstore.c @@ -314,7 +314,7 @@ static void process_dmesg_files(PStoreList *list) { static int list_files(PStoreList *list, const char *sourcepath) { _cleanup_(closedirp) DIR *dirp = NULL; struct dirent *de; - int r = 0; + int r; dirp = opendir(sourcepath); if (!dirp) @@ -333,7 +333,7 @@ static int list_files(PStoreList *list, const char *sourcepath) { /* Now read contents of pstore file */ r = read_full_file(ifd_path, &buf, &buf_size); if (r < 0) { - log_warning_errno(r, "Failed to read file %s: %m", ifd_path); + log_warning_errno(r, "Failed to read file %s, skipping: %m", ifd_path); continue; } @@ -349,7 +349,7 @@ static int list_files(PStoreList *list, const char *sourcepath) { }; } - return r; + return 0; } static int run(int argc, char *argv[]) {