summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/input/inputstream.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/input/inputstream.c b/src/input/inputstream.c
index da6653c..b2a1048 100644
--- a/src/input/inputstream.c
+++ b/src/input/inputstream.c
@@ -101,8 +101,13 @@ parserutils_error parserutils_inputstream_create(const char *enc,
s->mibenum =
parserutils_charset_mibenum_from_name(enc, strlen(enc));
- if (s->mibenum == 0)
+ if (s->mibenum == 0) {
+ parserutils__filter_destroy(s->input);
+ parserutils_buffer_destroy(s->public.utf8);
+ parserutils_buffer_destroy(s->raw);
+ free(s);
return PARSERUTILS_BADENCODING;
+ }
params.encoding.name = enc;