Fix an allocation error and many missing va_end() calls.
This addresses the following cppcheck reports:
[aslr/src/AslrMallocTest.cpp:160]: (error)
Allocation with malloc, printf doesn't release it.
[tests/jni/libjnitest/macroized_tests.c:195]: (error)
va_list 'args' was opened but not closed by va_end().
[tests/jni/libjnitest/macroized_tests.c:298]: (error)
va_list 'args' was opened but not closed by va_end().
[tests/jni/libjnitest/macroized_tests.c:401]: (error)
va_list 'args' was opened but not closed by va_end().
[tests/jni/libjnitest/macroized_tests.c:504]: (error)
va_list 'args' was opened but not closed by va_end().
[tests/jni/libjnitest/macroized_tests.c:607]: (error)
va_list 'args' was opened but not closed by va_end().
[tests/jni/libjnitest/macroized_tests.c:710]: (error)
va_list 'args' was opened but not closed by va_end().
[tests/jni/libjnitest/macroized_tests.c:813]: (error)
va_list 'args' was opened but not closed by va_end().
[tests/jni/libjnitest/macroized_tests.c:916]: (error)
va_list 'args' was opened but not closed by va_end().
[tests/jni/libjnitest/macroized_tests.c:1019]: (error)
va_list 'args' was opened but not closed by va_end().
[tests/jni/libjnitest/macroized_tests.c:1122]: (error)
va_list 'args' was opened but not closed by va_end().
[tests/jni/libjnitest/macroized_tests.c:1243]: (error)
va_list 'args' was opened but not closed by va_end().
[tests/jni/libjnitest/macroized_tests.c:1364]: (error)
va_list 'args' was opened but not closed by va_end().
[tests/jni/libjnitest/helper.c:73]: (error)
va_list 'args' was opened but not closed by va_end().
Change-Id: I8c93ce7d1445ec75ae9351be946e0ea19d5525c0
diff --git a/tests/aslr/src/AslrMallocTest.cpp b/tests/aslr/src/AslrMallocTest.cpp
index 6e773cb..91a36e2 100644
--- a/tests/aslr/src/AslrMallocTest.cpp
+++ b/tests/aslr/src/AslrMallocTest.cpp
@@ -157,7 +157,9 @@
return EXIT_FAILURE;
}
- printf("%p", malloc(size));
+ void* p = malloc(size);
+ printf("%p", p);
+ free(p);
return EXIT_SUCCESS;
}
#endif
diff --git a/tests/tests/jni/libjnitest/helper.c b/tests/tests/jni/libjnitest/helper.c
index 8f7f2f8..2281795 100644
--- a/tests/tests/jni/libjnitest/helper.c
+++ b/tests/tests/jni/libjnitest/helper.c
@@ -70,6 +70,7 @@
free(result);
if (newResult == NULL) {
// Shouldn't happen, but deal as gracefully as possible.
+ va_end(args);
return NULL;
}
result = newResult;
diff --git a/tests/tests/jni/libjnitest/macroized_tests.c b/tests/tests/jni/libjnitest/macroized_tests.c
index 76b5481..130b378 100644
--- a/tests/tests/jni/libjnitest/macroized_tests.c
+++ b/tests/tests/jni/libjnitest/macroized_tests.c
@@ -192,6 +192,7 @@
"returnBoolean", "()Z");
if (method == NULL) {
+ va_end(args);
return msg;
}
@@ -240,6 +241,7 @@
break;
}
default: {
+ va_end(args);
return failure("shouldn't happen");
}
}
@@ -295,6 +297,7 @@
"returnByte", "()B");
if (method == NULL) {
+ va_end(args);
return msg;
}
@@ -343,6 +346,7 @@
break;
}
default: {
+ va_end(args);
return failure("shouldn't happen");
}
}
@@ -398,6 +402,7 @@
"returnShort", "()S");
if (method == NULL) {
+ va_end(args);
return msg;
}
@@ -446,6 +451,7 @@
break;
}
default: {
+ va_end(args);
return failure("shouldn't happen");
}
}
@@ -501,6 +507,7 @@
"returnChar", "()C");
if (method == NULL) {
+ va_end(args);
return msg;
}
@@ -549,6 +556,7 @@
break;
}
default: {
+ va_end(args);
return failure("shouldn't happen");
}
}
@@ -604,6 +612,7 @@
"returnInt", "()I");
if (method == NULL) {
+ va_end(args);
return msg;
}
@@ -652,6 +661,7 @@
break;
}
default: {
+ va_end(args);
return failure("shouldn't happen");
}
}
@@ -707,6 +717,7 @@
"returnLong", "()J");
if (method == NULL) {
+ va_end(args);
return msg;
}
@@ -755,6 +766,7 @@
break;
}
default: {
+ va_end(args);
return failure("shouldn't happen");
}
}
@@ -810,6 +822,7 @@
"returnFloat", "()F");
if (method == NULL) {
+ va_end(args);
return msg;
}
@@ -858,6 +871,7 @@
break;
}
default: {
+ va_end(args);
return failure("shouldn't happen");
}
}
@@ -913,6 +927,7 @@
"returnDouble", "()D");
if (method == NULL) {
+ va_end(args);
return msg;
}
@@ -961,6 +976,7 @@
break;
}
default: {
+ va_end(args);
return failure("shouldn't happen");
}
}
@@ -1016,6 +1032,7 @@
"nop", "()V");
if (method == NULL) {
+ va_end(args);
return msg;
}
@@ -1064,6 +1081,7 @@
break;
}
default: {
+ va_end(args);
return failure("shouldn't happen");
}
}
@@ -1119,6 +1137,7 @@
"returnString", "()Ljava/lang/String;");
if (method == NULL) {
+ va_end(args);
return msg;
}
@@ -1171,6 +1190,7 @@
break;
}
default: {
+ va_end(args);
return failure("shouldn't happen");
}
}
@@ -1240,6 +1260,7 @@
"takeOneOfEach", "(DFJICSBZLjava/lang/String;)Z");
if (method == NULL) {
+ va_end(args);
return msg;
}
@@ -1299,6 +1320,7 @@
break;
}
default: {
+ va_end(args);
return failure("shouldn't happen");
}
}
@@ -1361,6 +1383,7 @@
"(IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII)Z");
if (method == NULL) {
+ va_end(args);
return msg;
}
@@ -1441,6 +1464,7 @@
break;
}
default: {
+ va_end(args);
return failure("shouldn't happen");
}
}