From e1d776cd53da3f4caa6eacb3ca836fa5b3a598bd Mon Sep 17 00:00:00 2001 From: Mathieu Desnoyers Date: Thu, 31 Oct 2013 16:52:42 -0400 Subject: [PATCH] test ctf writer: fix lints Coverity found the following defects: ** CID 1124096: Null pointer dereference (FORWARD_NULL) /tests/lib/test_ctf_writer.c: 140 ** CID 1124095: Dereference after null check (FORWARD_NULL) /tests/lib/test_ctf_writer.c: 139 ** CID 1124094: Dereference after null check (FORWARD_NULL) /tests/lib/test_ctf_writer.c: 211 ** CID 1124093: Argument cannot be negative (NEGATIVE_RETURNS) /tests/lib/test_ctf_writer.c: 144 ** CID 1124092: Argument cannot be negative (NEGATIVE_RETURNS) /tests/lib/test_ctf_writer.c: 144 Signed-off-by: Mathieu Desnoyers --- tests/lib/test_ctf_writer.c | 42 +++++++++++++++++++++++++++++++------ 1 file changed, 36 insertions(+), 6 deletions(-) diff --git a/tests/lib/test_ctf_writer.c b/tests/lib/test_ctf_writer.c index 310aea7f..8c168edb 100644 --- a/tests/lib/test_ctf_writer.c +++ b/tests/lib/test_ctf_writer.c @@ -110,12 +110,14 @@ result: perror("fdopen on metadata_fd"); goto close_fp; } + metadata_fd = -1; parser_output_fp = fdopen(parser_output_fd, "r"); if (!parser_output_fp) { perror("fdopen on parser_output_fd"); goto close_fp; } + parser_output_fd = -1; line = malloc(len); if (!line) { @@ -136,12 +138,28 @@ result: free(line); close_fp: - fclose(metadata_fp); - fclose(parser_output_fp); + if (metadata_fp) { + if (fclose(metadata_fp)) { + diag("fclose failure"); + } + } + if (parser_output_fp) { + if (fclose(parser_output_fp)) { + diag("fclose failure"); + } + } } - close(parser_output_fd); - close(metadata_fd); + if (parser_output_fd > 0) { + if (close(parser_output_fd)) { + diag("close error"); + } + } + if (metadata_fd > 0) { + if (close(metadata_fd)) { + diag("close error"); + } + } } void validate_trace(char *parser_path, char *trace_path) @@ -199,8 +217,12 @@ result: perror("fdopen on babeltrace_output_fd"); goto close_fp; } + babeltrace_output_fd = -1; line = malloc(len); + if (!line) { + diag("malloc error"); + } rewind(babeltrace_output_fp); while (getline(&line, &len, babeltrace_output_fp) > 0) { diag("%s", line); @@ -208,10 +230,18 @@ result: free(line); close_fp: - fclose(babeltrace_output_fp); + if (babeltrace_output_fp) { + if (fclose(babeltrace_output_fp)) { + diag("fclose error"); + } + } } - close(babeltrace_output_fd); + if (babeltrace_output_fd > 0) { + if (close(babeltrace_output_fd)) { + diag("close error"); + } + } } void append_simple_event(struct bt_ctf_stream_class *stream_class, -- 2.34.1