From 3411f6cffdcf3c72e7cee3a263c40414dfef956e Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Tue, 15 Dec 2009 19:45:50 +0100 Subject: archive: close archive when stream is closed Fixes a memory leak: the "archive" input plugin opens the archive, but never closes it. This patch moves the responsibility for doing that to archive_plugin.open_stream(). This is an slight internal API change, but it is the simplest and least intrusive fix for the memory leak. --- src/archive_api.h | 3 +++ 1 file changed, 3 insertions(+) (limited to 'src/archive_api.h') diff --git a/src/archive_api.h b/src/archive_api.h index dbd050bfa..2efcc1e6a 100644 --- a/src/archive_api.h +++ b/src/archive_api.h @@ -73,6 +73,9 @@ struct archive_plugin { /** * Opens an input_stream of a file within the archive. * + * If this function succeeds, then the #input_stream "owns" + * the archive file and will automatically close it. + * * @param path the path within the archive */ bool (*open_stream)(struct archive_file *, struct input_stream *is, -- cgit v1.2.3