From e521b10f3216ec0c3d0e373ea5b2f814052a8f2a Mon Sep 17 00:00:00 2001 From: George Thessalonikefs Date: Mon, 5 Jul 2021 16:49:17 +0200 Subject: [PATCH] - Fix clang-analysis warnings for testcode/readzone.c. --- doc/Changelog | 1 + testcode/readzone.c | 17 +++++++++++------ 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/doc/Changelog b/doc/Changelog index ffbb0b20a..332a574ee 100644 --- a/doc/Changelog +++ b/doc/Changelog @@ -1,5 +1,6 @@ 5 July 2021: George - Fix compiler warnings for #491. + - Fix clang-analysis warnings for testcode/readzone.c. 4 July 2021: George - Fix Wunused-result compile warnings. diff --git a/testcode/readzone.c b/testcode/readzone.c index eeab6155d..8edc683ee 100644 --- a/testcode/readzone.c +++ b/testcode/readzone.c @@ -31,11 +31,13 @@ int main(int argc, char *const *argv) while ((opt = getopt(argc, argv, "hu")) != -1) { switch (opt) { case 'h': + free(str); return print_usage(stdout, progname); case 'u': print_in_unknown_type_format = 1; break; default: + free(str); return print_usage(stderr, progname); } } @@ -52,6 +54,7 @@ int main(int argc, char *const *argv) if (s) { fprintf(stderr, "Error parsing origin: %s\n" , sldns_get_errorstr_parse(s)); + free(str); return EXIT_FAILURE; } s = -1; @@ -60,8 +63,10 @@ int main(int argc, char *const *argv) fprintf(stderr, "Memory allocation error: %s\n" , strerror(errno)); - else if (argc != 1 && argc != 2) + else if (argc != 1 && argc != 2) { + free(str); return print_usage(stderr, progname); + } else if (!(in = fopen(argv[0], "r"))) fprintf(stderr, "Error opening \"%s\": %s\n" @@ -73,8 +78,8 @@ int main(int argc, char *const *argv) s = sldns_fp2wire_rr_buf(in, rr, &rr_len, &dname_len, &state); if (s) { fprintf( stderr, "parse error %d:%d: %s\n" - , state.lineno, LDNS_WIREPARSE_OFFSET(s) - , sldns_get_errorstr_parse(s)); + , state.lineno, LDNS_WIREPARSE_OFFSET(s) + , sldns_get_errorstr_parse(s)); break; } if (rr_len == 0) @@ -82,10 +87,10 @@ int main(int argc, char *const *argv) if (print_in_unknown_type_format) written = sldns_wire2str_rr_unknown_buf( - rr, rr_len, str, str_len); + rr, rr_len, str, str_len); else written = sldns_wire2str_rr_buf( - rr, rr_len, str, str_len); + rr, rr_len, str, str_len); if (written > str_len) { while (written > str_len) @@ -93,7 +98,7 @@ int main(int argc, char *const *argv) free(str); if (!(str = malloc(str_len))) { fprintf(stderr, "Memory allocation error: %s\n" - , strerror(errno)); + , strerror(errno)); s = -1; break; } -- 2.47.3