1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- From a0cab23332a254e3500cac2a3a984472d02180e5 Mon Sep 17 00:00:00 2001
- From: Bruno Haible <bruno@clisp.org>
- Date: Fri, 9 Dec 2016 21:04:31 +0100
- Subject: [PATCH] Fix crash of xgettext with --its option.
- * gettext-tools/src/xgettext.c (main): Free contents of its_dirs only when it
- was initialized. Fixes bug introduced on 2016-05-16.
- ---
- gettext-tools/src/xgettext.c | 11 +++++++----
- 1 file changed, 7 insertions(+), 4 deletions(-)
- diff --git a/gettext-tools/src/xgettext.c b/gettext-tools/src/xgettext.c
- index f848d76d1..a80ee51ac 100644
- --- a/gettext-tools/src/xgettext.c
- +++ b/gettext-tools/src/xgettext.c
- @@ -330,7 +330,7 @@ main (int argc, char *argv[])
- bool sort_by_msgid = false;
- bool sort_by_filepos = false;
- char **dirs;
- - char **its_dirs;
- + char **its_dirs = NULL;
- char *explicit_its_filename = NULL;
- const char *file_name;
- const char *files_from = NULL;
- @@ -1016,9 +1016,12 @@ warning: file '%s' extension '%s' is unknown; will try C"), filename, extension)
- if (its_locating_rules)
- locating_rule_list_free (its_locating_rules);
-
- - for (i = 0; its_dirs[i] != NULL; i++)
- - free (its_dirs[i]);
- - free (its_dirs);
- + if (its_dirs != NULL)
- + {
- + for (i = 0; its_dirs[i] != NULL; i++)
- + free (its_dirs[i]);
- + free (its_dirs);
- + }
-
- exit (EXIT_SUCCESS);
- }
- --
- 2.14.3
|