From 3b849a7ae9051372cbf35c869a367d911e12491e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=96mer=20Fad=C4=B1l=20USTA?= Date: Fri, 12 Jul 2013 16:28:51 +0300 Subject: [PATCH 1/4] ccmake: Add missing initializers reported by cppcheck The return statement uses d1, d2, d3, and d4 variables but the code which initialize them inside a if statement and not always this if statement is corrent. On the other hand these variables are using for return statement and needed to be initialized. A trivial fix to pervent some compilers will give build error. Reviewed-by: Igor Murzov --- Source/CursesDialog/form/fty_ipv4.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Source/CursesDialog/form/fty_ipv4.c b/Source/CursesDialog/form/fty_ipv4.c index 4ac8a50ec..c855af655 100644 --- a/Source/CursesDialog/form/fty_ipv4.c +++ b/Source/CursesDialog/form/fty_ipv4.c @@ -30,7 +30,7 @@ static bool Check_IPV4_Field(FIELD * field, const void * argp) { char *bp = field_buffer(field,0); int num = 0, len; - unsigned int d1, d2, d3, d4; + unsigned int d1=256, d2=256, d3=256, d4=256; argp=0; /* Silence unused parameter warning. */ From 499531c64e0cd3a6834616af576d612e8678e4d9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=96mer=20Fad=C4=B1l=20USTA?= Date: Fri, 12 Jul 2013 16:39:34 +0300 Subject: [PATCH 2/4] libarchive: Fix free() order to avoid accessing freed memory The archive_string_conv type sc variable already freed via free(sc) on the other hand in second line we are tyring to free its subset via free(sc->from_charset) this will cause a problem because we couldn't reach sc after first release. Reviewed-by: Igor Murzov --- Utilities/cmlibarchive/libarchive/archive_string.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Utilities/cmlibarchive/libarchive/archive_string.c b/Utilities/cmlibarchive/libarchive/archive_string.c index cbfad2c5b..370a5fc6b 100644 --- a/Utilities/cmlibarchive/libarchive/archive_string.c +++ b/Utilities/cmlibarchive/libarchive/archive_string.c @@ -1248,8 +1248,8 @@ create_sconv_object(const char *fc, const char *tc, } sc->to_charset = strdup(tc); if (sc->to_charset == NULL) { - free(sc); free(sc->from_charset); + free(sc); return (NULL); } archive_string_init(&sc->utftmp); From c8adab9e4344a5ef96d902cf11c938d15aff15fc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=96mer=20Fad=C4=B1l=20USTA?= Date: Fri, 12 Jul 2013 17:23:55 +0300 Subject: [PATCH 3/4] cmcurl: Fix resource leak reported by cppcheck Add missing fclose calls. Reviewed-by: Igor Murzov --- Utilities/cmcurl/Testing/sepheaders.c | 2 ++ Utilities/cmcurl/Testing/simplessl.c | 2 ++ Utilities/cmcurl/cookie.c | 2 ++ 3 files changed, 6 insertions(+) diff --git a/Utilities/cmcurl/Testing/sepheaders.c b/Utilities/cmcurl/Testing/sepheaders.c index 818578708..fc5b783bc 100644 --- a/Utilities/cmcurl/Testing/sepheaders.c +++ b/Utilities/cmcurl/Testing/sepheaders.c @@ -56,6 +56,7 @@ int main(int argc, char **argv) bodyfile = fopen(bodyfilename,"w"); if (bodyfile == NULL) { curl_easy_cleanup(curl_handle); + fclose(headerfile); return -1; } @@ -70,6 +71,7 @@ int main(int argc, char **argv) /* close the header file */ fclose(headerfile); + fclose(bodyfile); /* cleanup curl stuff */ curl_easy_cleanup(curl_handle); diff --git a/Utilities/cmcurl/Testing/simplessl.c b/Utilities/cmcurl/Testing/simplessl.c index 9a53603f4..e307eaa6f 100644 --- a/Utilities/cmcurl/Testing/simplessl.c +++ b/Utilities/cmcurl/Testing/simplessl.c @@ -114,5 +114,7 @@ int main(int argc, char **argv) curl_global_cleanup(); + if (headerfile) + fclose(headerfile); return 0; } diff --git a/Utilities/cmcurl/cookie.c b/Utilities/cmcurl/cookie.c index 2856ad882..d8ea24196 100644 --- a/Utilities/cmcurl/cookie.c +++ b/Utilities/cmcurl/cookie.c @@ -969,6 +969,8 @@ int Curl_cookie_output(struct CookieInfo *c, char *dumphere) format_ptr = get_netscape_format(co); if (format_ptr == NULL) { fprintf(out, "#\n# Fatal libcurl error\n"); + if(!use_stdout) + fclose(out); return 1; } fprintf(out, "%s\n", format_ptr); From a20c819f6380ecef1ff7d03cdbc37d6d2d373ae3 Mon Sep 17 00:00:00 2001 From: Brad King Date: Mon, 15 Jul 2013 10:02:34 -0400 Subject: [PATCH 4/4] cmake: Fix resource leak reported by cppcheck MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Return early in cmake::ReportUndefinedPropertyAccesses if there is no global generator instead of opening a file and leaking the descriptor. Reported-by: Ömer Fadıl USTA --- Source/cmake.cxx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Source/cmake.cxx b/Source/cmake.cxx index fcec068b7..f6e40bafc 100644 --- a/Source/cmake.cxx +++ b/Source/cmake.cxx @@ -3667,11 +3667,11 @@ void cmake::RecordPropertyAccess(const char *name, void cmake::ReportUndefinedPropertyAccesses(const char *filename) { + if(!this->GlobalGenerator) + { return; } FILE *progFile = fopen(filename,"w"); - if (!progFile || !this->GlobalGenerator) - { - return; - } + if(!progFile) + { return; } // what are the enabled languages? std::vector enLangs;