From 726711e27dadf0cc443c36de2121b04247d48ea3 Mon Sep 17 00:00:00 2001 From: CHEN Gang Date: Thu, 20 Sep 2018 14:00:22 +0800 Subject: [PATCH] tools: acrn-crashlog: fix some compiler warnings MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This patch is to fix some compiler warnings before enabling the flag to make compiler warning as compiler error. The warning message is like: ignoring return value of ‘write’, declared with attribute warn_unused_result. Tracked-On: #1122 Signed-off-by: CHEN Gang Reviewed-by: Zhi Jin Reviewed-by: Liu, Xinwu --- tools/acrn-crashlog/usercrash/crash_dump.c | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/tools/acrn-crashlog/usercrash/crash_dump.c b/tools/acrn-crashlog/usercrash/crash_dump.c index 79cd47c32..c5d948c64 100644 --- a/tools/acrn-crashlog/usercrash/crash_dump.c +++ b/tools/acrn-crashlog/usercrash/crash_dump.c @@ -31,7 +31,7 @@ static void loginfo(int fd, const char *fmt, ...) { char buf[512]; va_list ap; - size_t len; + size_t len, ret; va_start(ap, fmt); vsnprintf(buf, sizeof(buf), fmt, ap); @@ -41,7 +41,10 @@ static void loginfo(int fd, const char *fmt, ...) if (len <= 0) return; - write(fd, buf, len); + ret = write(fd, buf, len); + if (ret != len) { + LOGE("write in loginfo failed\n"); + } } static const char *get_signame(int sig) @@ -113,6 +116,7 @@ static int get_backtrace(int pid, int fd, int sig, const char *comm) { char *membkt; char format[FORMAT_LENGTH]; + size_t len, ret; loginfo(fd, "\nBackTrace:\n\n"); memset(format, 0, sizeof(format)); @@ -130,8 +134,13 @@ static int get_backtrace(int pid, int fd, int sig, const char *comm) LOGE("get gdb info failed\n"); return -1; } - write(fd, membkt, strlen(membkt)); + len = strlen(membkt); + ret = write(fd, membkt, len); free(membkt); + if (ret != len) { + LOGE("write file failed\n"); + return -1; + } return 0; } @@ -159,7 +168,11 @@ static int save_proc_info(int pid, int fd, const char *path, const char *name) LOGE("read file failed\n"); return -1; } - write(fd, data, size); + ret = write(fd, data, size); + if ((unsigned long)ret != size) { + LOGE("write file failed\n"); + return -1; + } free(data); return 0;