Fixed buffer overflow bug
authorAndreas Eversberg <jolly@eversberg.eu>
Sun, 31 May 2015 05:29:02 +0000 (07:29 +0200)
committerAndreas Eversberg <jolly@eversberg.eu>
Sat, 20 Jun 2015 04:42:21 +0000 (06:42 +0200)
src/mark.c
src/mark.h

index f3a6e11..a5a91fa 100644 (file)
@@ -87,7 +87,7 @@ int load_palette(const char *filename)
                if (!(p = strchr(line, '\"')))
                        continue;
                p++;
-               strcpy(mark_palette[i].name, p);
+               strncpy(mark_palette[i].name, p, sizeof(mark_palette[i].name)-1);
                if ((q = strchr(mark_palette[i].name, '\"')))
                        *q = '\0';
                if ((p = strchr(p, '\"'))) {
index aad7e4b..79e8518 100644 (file)
@@ -5,7 +5,7 @@ struct mark_palette {
        float bright;
        float contrast;
        float alpha;
-       char name[64];
+       char name[256];
 };
 
 extern struct mark_palette mark_palette[255];