ソースを参照

Merge topic 'cppcheck-fixes'

a20c819 cmake: Fix resource leak reported by cppcheck
c8adab9 cmcurl: Fix resource leak reported by cppcheck
499531c libarchive: Fix free() order to avoid accessing freed memory
3b849a7 ccmake: Add missing initializers reported by cppcheck
Brad King 12 年 前
コミット
ddfd3b85df

+ 1 - 1
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.  */
 

+ 4 - 4
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<std::string> enLangs;

+ 2 - 0
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);

+ 2 - 0
Utilities/cmcurl/Testing/simplessl.c

@@ -114,5 +114,7 @@ int main(int argc, char **argv)
 
   curl_global_cleanup();
 
+  if (headerfile)
+    fclose(headerfile);
   return 0;
 }

+ 2 - 0
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);

+ 1 - 1
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);