summaryrefslogtreecommitdiff
path: root/utils
diff options
context:
space:
mode:
authorChris Young <chris@unsatisfactorysoftware.co.uk>2014-06-10 19:27:39 +0100
committerChris Young <chris@unsatisfactorysoftware.co.uk>2014-06-10 19:27:39 +0100
commit2462f5658e82533e7c1cfbe1afb6975c54aa3896 (patch)
treea7651d13bb90ae7e808bf2cfd69b661214402d8a /utils
parent837b8f94340deff3bd025860b4392b09979679b4 (diff)
downloadnetsurf-2462f5658e82533e7c1cfbe1afb6975c54aa3896.tar.gz
netsurf-2462f5658e82533e7c1cfbe1afb6975c54aa3896.tar.bz2
Fix memory leak on error
Diffstat (limited to 'utils')
-rw-r--r--utils/idna.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/utils/idna.c b/utils/idna.c
index bdb1e220f..47c8d9572 100644
--- a/utils/idna.c
+++ b/utils/idna.c
@@ -565,6 +565,7 @@ static bool idna__verify(const char *label, size_t len)
ucs4_len = utf8proc_normalise(ucs4, u_ucs4_len,
UTF8PROC_STABLE | UTF8PROC_COMPOSE);
if (ucs4_len < 0) {
+ free(ucs4);
return false;
}
@@ -611,6 +612,7 @@ idna_encode(const char *host, size_t len, char **ace_host, size_t *ace_len)
/* Check this is valid for conversion */
if (idna__is_valid(ucs4_host, ucs4_len) == false) {
+ free(ucs4_host);
return NSERROR_BAD_URL;
}