From 7bc2585fe81ce94d05a3b7c8045c0177a6fc70cc Mon Sep 17 00:00:00 2001 From: Karel Klic Date: Thu, 18 Mar 2010 11:37:23 +0100 Subject: Gracefully handle empty files in abrt-backtrace --- src/Backtrace/main.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'src') diff --git a/src/Backtrace/main.c b/src/Backtrace/main.c index 6683aa91..cddf8979 100644 --- a/src/Backtrace/main.c +++ b/src/Backtrace/main.c @@ -157,15 +157,27 @@ int main(int argc, char **argv) exit(EX_IOERR); } + /* Handle the case that the input file is empty. + * The code is not designed to support completely empty backtrace. + * Silently exit indicating success. + */ + if (size == 0) + { + fclose(fp); + exit(0); + } + bttext = malloc(size + 1); if (!bttext) { + fclose(fp); fputs("malloc failed", stderr); exit(EX_OSERR); } if (1 != fread(bttext, size, 1, fp)) { + fclose(fp); fprintf(stderr, "Unable to read from '%s'.\n", arguments.filename); exit(EX_IOERR); /* IO Error */ } -- cgit