From 7cd5a79cd45fdc10d73ff32d81c4d86c5613f347 Mon Sep 17 00:00:00 2001 From: Jeremy Allison Date: Wed, 30 Mar 2011 19:27:29 -0700 Subject: [PATCH] Arg. I hate the "if (xxx) return foo" all on one line style of code. Fix the talloc leaks I introduced by not spotting these returns. Autobuild-User: Jeremy Allison Autobuild-Date: Thu Mar 31 05:19:34 CEST 2011 on sn-devel-104 --- lib/util/charset/iconv.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/lib/util/charset/iconv.c b/lib/util/charset/iconv.c index 24434ec809c..74b931fa127 100644 --- a/lib/util/charset/iconv.c +++ b/lib/util/charset/iconv.c @@ -190,13 +190,19 @@ _PUBLIC_ size_t smb_iconv(smb_iconv_t cd, if (cd->pull(cd->cd_pull, inbuf, inbytesleft, &bufp1, &bufsize) == -1 - && errno != E2BIG) return -1; + && errno != E2BIG) { + talloc_free(cvtbuf); + return -1; + } bufsize = SMB_ICONV_BUFSIZE - bufsize; if (cd->push(cd->cd_push, &bufp2, &bufsize, - outbuf, outbytesleft) == -1) return -1; + outbuf, outbytesleft) == -1) { + talloc_free(cvtbuf); + return -1; + } } talloc_free(cvtbuf); } -- 2.34.1