From a73f22c966e97fc3a706ff9804aa2ea73a4d5428 Mon Sep 17 00:00:00 2001 From: Vincent Sanders Date: Wed, 30 Apr 2014 13:56:01 +0100 Subject: make gtk commandline filename loading use snprintf --- gtk/gui.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'gtk/gui.c') diff --git a/gtk/gui.c b/gtk/gui.c index 1c108a165..3147bf1b8 100644 --- a/gtk/gui.c +++ b/gtk/gui.c @@ -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]); -- cgit v1.2.3