X-Git-Url: https://gitweb.ps.run/ps-cgit/blobdiff_plain/fbaf1171b4e343929dd43ecac7cd9d1c692b84ec..58d04f6523b0029281d65f841859fa42d0c744ff:/cache.c?ds=inline diff --git a/cache.c b/cache.c index b947a34..39e63a5 100644 --- a/cache.c +++ b/cache.c @@ -74,7 +74,7 @@ int cache_refill_overdue(const char *lockfile) int cache_lock(struct cacheitem *item) { int i = 0; - char *lockfile = fmt("%s.lock", item->name); + char *lockfile = xstrdup(fmt("%s.lock", item->name)); top: if (++i > cgit_max_lock_attempts) @@ -90,6 +90,7 @@ int cache_lock(struct cacheitem *item) cache_refill_overdue(lockfile) && !unlink(lockfile)) goto top; + free(lockfile); return (item->fd > 0); }