X-Git-Url: http://git.annexia.org/?a=blobdiff_plain;f=fish%2Fdestpaths.c;h=1e42ae80d1010e94c63d81658503283bddf732a0;hb=ba5842c1147f4463fce7f613618938fd5b9a1c1a;hp=f4f131881ee2d8aa6d9d7e30ded33cfb7b0f779d;hpb=2f1a50d81671810256dce0852e6b1e0810ac44af;p=libguestfs.git diff --git a/fish/destpaths.c b/fish/destpaths.c index f4f1318..1e42ae8 100644 --- a/fish/destpaths.c +++ b/fish/destpaths.c @@ -18,8 +18,6 @@ #include -#define _GNU_SOURCE // for strndup, asprintf - #include #include #include @@ -61,7 +59,7 @@ struct word { }; static void -free_words (struct word *words, int nr_words) +free_words (struct word *words, size_t nr_words) { size_t i; @@ -113,7 +111,7 @@ complete_dest_paths_generator (const char *text, int state) size_t i; \ size_t n = count_strings (strs); \ \ - if ( ! xalloc_oversized (nr_words + n, sizeof (struct word))) { \ + if ( n > 0 && ! xalloc_oversized (nr_words + n, sizeof (struct word))) { \ struct word *w; \ w = realloc (words, sizeof (struct word) * (nr_words + n)); \ \ @@ -129,8 +127,8 @@ complete_dest_paths_generator (const char *text, int state) nr_words++; \ } \ } \ - free (strs); \ } \ + free (strs); \ } \ } while (0)