c6d234
commit 0ce3b29d56632acd1c393714cc8f189496bdeb47
c6d234
Author: Carlos O'Donell <carlos@systemhalted.org>
c6d234
Date:   Fri Jun 24 13:50:22 2016 -0400
c6d234
c6d234
    Resolves: #1349906
c6d234
c6d234
    - Properly handle more invalid --install-langs arguments (#1349906).
c6d234
c6d234
diff -Nrup a/releng/build-locale-archive.c b/releng/build-locale-archive.c
c6d234
--- a/releng/build-locale-archive.c	2018-05-03 11:31:08.474376209 -0400
c6d234
+++ b/releng/build-locale-archive.c	2018-05-03 11:35:21.001309474 -0400
c6d234
@@ -640,7 +640,7 @@ int main (int argc, char *argv[])
c6d234
   char *lang;
c6d234
   int install_langs_count = 0;
c6d234
   char *install_langs_arg, *ila_start;
c6d234
-  char **install_langs_list;
c6d234
+  char **install_langs_list = NULL;
c6d234
   unsigned int cnt = 0;
c6d234
   struct locarhandle tmpl_ah = {};
c6d234
 
c6d234
@@ -713,6 +713,11 @@ int main (int argc, char *argv[])
c6d234
                   install_langs_arg = NULL;
c6d234
                 }
c6d234
 	      free (ila_start);
c6d234
+
c6d234
+              /* Reject an entire string made up of delimiters.  */
c6d234
+              if (install_langs_count == 0)
c6d234
+                break;
c6d234
+
c6d234
 	      /* Copy the list.  */
c6d234
 	      install_langs_list = (char **)xmalloc (sizeof(char *) * install_langs_count);
c6d234
 	      install_langs_arg = ila_start = strdup (optarg);