Va_end should be used with va_start
va_start is used and va_end should
be invoked accordingly
Change-Id: I2b0a2af762e22082a351a4d8139aaa48bc791e88
diff --git a/libc/bionic/exec.cpp b/libc/bionic/exec.cpp
index c43eb90..2001106 100644
--- a/libc/bionic/exec.cpp
+++ b/libc/bionic/exec.cpp
@@ -72,19 +72,25 @@
int execl(const char* name, const char* arg, ...) {
va_list ap;
va_start(ap, arg);
- return __execl(name, arg, kIsExecL, ap);
+ int result = __execl(name, arg, kIsExecL, ap);
+ va_end(ap);
+ return result;
}
int execle(const char* name, const char* arg, ...) {
va_list ap;
va_start(ap, arg);
- return __execl(name, arg, kIsExecLE, ap);
+ int result = __execl(name, arg, kIsExecLE, ap);
+ va_end(ap);
+ return result;
}
int execlp(const char* name, const char* arg, ...) {
va_list ap;
va_start(ap, arg);
- return __execl(name, arg, kIsExecLP, ap);
+ int result = __execl(name, arg, kIsExecLP, ap);
+ va_end(ap);
+ return result;
}
int execv(const char* name, char* const* argv) {