diff options
Diffstat (limited to 'stream/cookies.c')
-rw-r--r-- | stream/cookies.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/stream/cookies.c b/stream/cookies.c index e50274a248..6a1ad4466d 100644 --- a/stream/cookies.c +++ b/stream/cookies.c @@ -207,11 +207,13 @@ static struct cookie_list_type *load_cookies(void) if (dir) { while ((ent = readdir(dir)) != NULL) { if ((ent->d_name)[0] != '.') { - buf = malloc(strlen(getenv("HOME")) + - sizeof("/.mozilla/default/") + - strlen(ent->d_name) + sizeof("cookies.txt") + 1); - sprintf(buf, "%s/.mozilla/default/%s/cookies.txt", - getenv("HOME"), ent->d_name); + const char *home = getenv("HOME"); + unsigned len = strlen(home) + + sizeof("/.mozilla/default/") + + strlen(ent->d_name) + sizeof("cookies.txt") + 1; + buf = malloc(len); + snprintf(buf, len, "%s/.mozilla/default/%s/cookies.txt", + home, ent->d_name); list = load_cookies_from(buf, list); free(buf); } |