summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--string/argz-extract.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/string/argz-extract.c b/string/argz-extract.c
index 49a1426d73..99f6cdf97a 100644
--- a/string/argz-extract.c
+++ b/string/argz-extract.c
@@ -20,8 +20,8 @@
 
 #include <argz.h>
 
-/* Puts pointers to each string in ARGZ into ARGV, which must be large enough
-   to hold them all.  */
+/* Puts pointers to each string in ARGZ, plus a terminating 0 element, into
+   ARGV, which must be large enough to hold them all.  */
 void
 __argz_extract (char *argz, size_t len, char **argv)
 {
@@ -32,5 +32,6 @@ __argz_extract (char *argz, size_t len, char **argv)
       argz += part_len + 1;
       len -= part_len + 1;
     }
+  *argv = 0;
 }
 weak_alias (__argz_extract, argz_extract)