mirror of
https://github.com/libvirt/libvirt.git
synced 2025-02-25 18:55:26 -06:00
util: Fix resource leak
The virRotatingFileWriterAppend method leaks the file->entry on the virRotatingFileWriterEntryNew failing path.
This commit is contained in:
parent
9db0a63b7e
commit
123770cd4e
@ -483,18 +483,19 @@ virRotatingFileWriterAppend(virRotatingFileWriterPtr file,
|
|||||||
|
|
||||||
if ((file->entry->pos == file->maxlen && len) ||
|
if ((file->entry->pos == file->maxlen && len) ||
|
||||||
forceRollover) {
|
forceRollover) {
|
||||||
virRotatingFileWriterEntryPtr tmp = file->entry;
|
virRotatingFileWriterEntryPtr tmp;
|
||||||
VIR_DEBUG("Hit max size %zu on %s (force=%d)\n",
|
VIR_DEBUG("Hit max size %zu on %s (force=%d)\n",
|
||||||
file->maxlen, file->basepath, forceRollover);
|
file->maxlen, file->basepath, forceRollover);
|
||||||
|
|
||||||
if (virRotatingFileWriterRollover(file) < 0)
|
if (virRotatingFileWriterRollover(file) < 0)
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
if (!(file->entry = virRotatingFileWriterEntryNew(file->basepath,
|
if (!(tmp = virRotatingFileWriterEntryNew(file->basepath,
|
||||||
file->mode)))
|
file->mode)))
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
virRotatingFileWriterEntryFree(tmp);
|
virRotatingFileWriterEntryFree(file->entry);
|
||||||
|
file->entry = tmp;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user