summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGrigori Goronzy <greg@chown.ath.cx>2015-06-07 21:30:41 +0200
committerGrigori Goronzy <greg@chown.ath.cx>2015-06-07 21:31:19 +0200
commite3a13c72f6f70f12a314a67da5540691a079d5b7 (patch)
tree783ce41568d454c4a92f12e77b58839b34f254e7
parentda32da6fbc5b11effaa716aab0a1aacda8a1fe05 (diff)
downloadlibass-e3a13c72f6f70f12a314a67da5540691a079d5b7.tar.bz2
libass-e3a13c72f6f70f12a314a67da5540691a079d5b7.tar.xz
Fix minor memory leak in ass_read_styles
Reported by clang scan-build static analysis. Also fix incorrect return value in case of error.
-rw-r--r--libass/ass.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/libass/ass.c b/libass/ass.c
index c9855ea..6e9f2fe 100644
--- a/libass/ass.c
+++ b/libass/ass.c
@@ -1229,12 +1229,13 @@ int ass_read_styles(ASS_Track *track, char *fname, char *codepage)
buf = tmpbuf;
}
if (!buf)
- return 0;
+ return 1;
#endif
old_state = track->parser_priv->state;
track->parser_priv->state = PST_STYLES;
process_text(track, buf);
+ free(buf);
track->parser_priv->state = old_state;
return 0;