X-Git-Url: http://git.wpitchoune.net/gitweb/?a=blobdiff_plain;f=src%2Ffcache.c;h=1e10a193c056d1fced43dd4ec8704734556ba8bd;hb=1b5e970c9fa6bda525f8c8ab5d2ea001084c7db7;hp=89c66d45e07b9098da104a9a941027fe47779f0b;hpb=be68914bbcbfde6dbc51e20075691afbab3c2489;p=ppastats.git diff --git a/src/fcache.c b/src/fcache.c index 89c66d4..1e10a19 100644 --- a/src/fcache.c +++ b/src/fcache.c @@ -59,12 +59,15 @@ static char *key_to_path(const char *key) char *path; const char *dir; + if (!key || !*key || *key != '/') + return NULL; + dir = get_cache_dir(); if (!dir) return NULL; - path = malloc(strlen(dir) + 1 + strlen(key) + strlen("/data.json") + 1); - sprintf(path, "%s%s/data.json", dir, key); + path = malloc(strlen(dir) + 1 + strlen(key) + strlen("/data") + 1); + sprintf(path, "%s%s.data", dir, key); return path; } @@ -74,8 +77,10 @@ char *fcache_get(const char *key) char *path, *content; path = key_to_path(key); - if (!path) + if (!path) { + log_err(_("file cache, invalid key: %s"), key); return NULL; + } content = file_get_content(path);