avformat/cache: cleanup cache file on cache write failure
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
parent
68609edd4a
commit
954fc854f2
@ -92,7 +92,7 @@ static int cache_open(URLContext *h, const char *arg, int flags)
|
|||||||
static int add_entry(URLContext *h, const unsigned char *buf, int size)
|
static int add_entry(URLContext *h, const unsigned char *buf, int size)
|
||||||
{
|
{
|
||||||
Context *c= h->priv_data;
|
Context *c= h->priv_data;
|
||||||
int64_t pos;
|
int64_t pos = -1;
|
||||||
int ret;
|
int ret;
|
||||||
CacheEntry *entry = av_malloc(sizeof(*entry));
|
CacheEntry *entry = av_malloc(sizeof(*entry));
|
||||||
CacheEntry *entry_ret;
|
CacheEntry *entry_ret;
|
||||||
@ -132,6 +132,8 @@ static int add_entry(URLContext *h, const unsigned char *buf, int size)
|
|||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
fail:
|
fail:
|
||||||
|
if (pos >= 0)
|
||||||
|
ftruncate(c->fd, pos);
|
||||||
av_free(entry);
|
av_free(entry);
|
||||||
av_free(node);
|
av_free(node);
|
||||||
return ret;
|
return ret;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user