diff options
author | Vincent Sanders <vince@kyllikki.org> | 2014-04-30 13:56:01 +0100 |
---|---|---|
committer | Vincent Sanders <vince@kyllikki.org> | 2014-04-30 13:56:01 +0100 |
commit | a73f22c966e97fc3a706ff9804aa2ea73a4d5428 (patch) | |
tree | 2313aab403877edb9b990a02282e107c07ff79ca /gtk/gui.c | |
parent | 3a7fb23b878167d007df21fee25413d483ebdc79 (diff) | |
download | netsurf-a73f22c966e97fc3a706ff9804aa2ea73a4d5428.tar.gz netsurf-a73f22c966e97fc3a706ff9804aa2ea73a4d5428.tar.bz2 |
make gtk commandline filename loading use snprintf
Diffstat (limited to 'gtk/gui.c')
-rw-r--r-- | gtk/gui.c | 10 |
1 files changed, 6 insertions, 4 deletions
@@ -421,13 +421,15 @@ static void gui_init(int argc, char** argv, char **respath) if (argc > 1) { struct stat fs; if (stat(argv[1], &fs) == 0) { + size_t addrlen; char *rp = realpath(argv[1], NULL); assert(rp != NULL); - addr = malloc(SLEN("file://") + strlen(rp) + /*\0 */ 1); + + /* calculate file url length including terminator */ + addrlen = SLEN("file://") + strlen(rp) + 1; + addr = malloc(addrlen); assert(addr != NULL); - /* These are safe thanks to the above sum */ - strcpy(addr, "file://"); - strcat(addr, rp); + snprintf(addr, addrlen, "file://%s", rp); free(rp); } else { addr = strdup(argv[1]); |