about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog7
-rw-r--r--NEWS10
-rw-r--r--posix/execl.c1
-rw-r--r--posix/execle.c1
-rw-r--r--posix/execlp.c1
5 files changed, 15 insertions, 5 deletions
diff --git a/ChangeLog b/ChangeLog
index ceedb33b48..aba1bef9ec 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2015-09-16  Andreas Schwab  <schwab@suse.de>
+
+	[BZ #17243]
+	* posix/execl.c (execl): Add missing va_end.
+	* posix/execle.c (execle): Likewise.
+	* posix/execlp.c (execlp): Likewise.
+
 2015-09-15  Roland McGrath  <roland@hack.frob.com>
 
 	* misc/sys/param.h [!MAXHOSTNAMELEN && HOST_NAME_MAX]
diff --git a/NEWS b/NEWS
index 702b118e85..4a4aba5d21 100644
--- a/NEWS
+++ b/NEWS
@@ -10,11 +10,11 @@ Version 2.23
 * The following bugs are resolved with this release:
 
   2542, 2543, 2558, 2898, 14341, 14912, 15786, 15918, 16141, 16296, 16517,
-  16519, 16520, 16521, 16734, 16973, 16985, 17787, 17905, 18084, 18086,
-  18240, 18265, 18370, 18421, 18480, 18525, 18595, 18610, 18618, 18647,
-  18661, 18674, 18675, 18681, 18757, 18778, 18781, 18787, 18789, 18790,
-  18795, 18796, 18820, 18823, 18824, 18857, 18863, 18870, 18873, 18875,
-  18887, 18921, 18952, 18961, 18966, 18967.
+  16519, 16520, 16521, 16734, 16973, 16985, 17243, 17787, 17905, 18084,
+  18086, 18240, 18265, 18370, 18421, 18480, 18525, 18595, 18610, 18618,
+  18647, 18661, 18674, 18675, 18681, 18757, 18778, 18781, 18787, 18789,
+  18790, 18795, 18796, 18820, 18823, 18824, 18857, 18863, 18870, 18873,
+  18875, 18887, 18921, 18952, 18961, 18966, 18967.
 
 * The obsolete header <regexp.h> has been removed.  Programs that require
   this header must be updated to use <regex.h> instead.
diff --git a/posix/execl.c b/posix/execl.c
index 7d89192675..192b492a8b 100644
--- a/posix/execl.c
+++ b/posix/execl.c
@@ -50,6 +50,7 @@ execl (const char *path, const char *arg, ...)
 	    {
 	      if (argv != initial_argv)
 		free (argv);
+	      va_end (args);
 	      return -1;
 	    }
 	  if (argv == initial_argv)
diff --git a/posix/execle.c b/posix/execle.c
index dff95b2c1f..33cd09f8a3 100644
--- a/posix/execle.c
+++ b/posix/execle.c
@@ -48,6 +48,7 @@ execle (const char *path, const char *arg, ...)
 	    {
 	      if (argv != initial_argv)
 		free (argv);
+	      va_end (args);
 	      return -1;
 	    }
 	  if (argv == initial_argv)
diff --git a/posix/execlp.c b/posix/execlp.c
index 5e45de967a..7fc2740519 100644
--- a/posix/execlp.c
+++ b/posix/execlp.c
@@ -50,6 +50,7 @@ execlp (const char *file, const char *arg, ...)
 	    {
 	      if (argv != initial_argv)
 		free (argv);
+	      va_end (args);
 	      return -1;
 	    }
 	  if (argv == initial_argv)