fix invalid substitute of [1] for flexible array member in glob
authorRich Felker <dalias@aerifal.cx>
Thu, 11 Oct 2018 18:23:14 +0000 (14:23 -0400)
committerRich Felker <dalias@aerifal.cx>
Thu, 11 Oct 2018 18:23:14 +0000 (14:23 -0400)
src/regex/glob.c

index 746da77d0f43a943632b2b320deb73d28cc10215..98636295ee1105db11621a7e1fa4fbe0233af567 100644 (file)
@@ -11,7 +11,7 @@
 struct match
 {
        struct match *next;
-       char name[1];
+       char name[];
 };
 
 static int is_literal(const char *p, int useesc)
@@ -37,7 +37,7 @@ static int is_literal(const char *p, int useesc)
 
 static int append(struct match **tail, const char *name, size_t len, int mark)
 {
-       struct match *new = malloc(sizeof(struct match) + len + 1);
+       struct match *new = malloc(sizeof(struct match) + len + 2);
        if (!new) return -1;
        (*tail)->next = new;
        new->next = NULL;