From d5f2d2cc3fc7c2d3701e906df5d2d53781c4ee9c Mon Sep 17 00:00:00 2001 From: cinap_lenrek Date: Tue, 25 Sep 2018 20:15:24 +0200 Subject: [PATCH] webfs: fix memory leak in Nfmt(), use libc's new idn functions --- sys/src/cmd/webfs/fns.h | 4 ---- sys/src/cmd/webfs/mkfile | 2 +- sys/src/cmd/webfs/url.c | 11 ++++------- 3 files changed, 5 insertions(+), 12 deletions(-) diff --git a/sys/src/cmd/webfs/fns.h b/sys/src/cmd/webfs/fns.h index 6c17127d0..67301005d 100644 --- a/sys/src/cmd/webfs/fns.h +++ b/sys/src/cmd/webfs/fns.h @@ -25,10 +25,6 @@ Url* saneurl(Url *u); int matchurl(Url *u, Url *s); void freeurl(Url *u); -/* idn */ -char* idn2utf(char *name, char *buf, int nbuf); -char* utf2idn(char *name, char *buf, int nbuf); - /* buq */ int buread(Buq *q, void *v, int l); int buwrite(Buq *q, void *v, int l); diff --git a/sys/src/cmd/webfs/mkfile b/sys/src/cmd/webfs/mkfile index 974a45349..08993cf32 100644 --- a/sys/src/cmd/webfs/mkfile +++ b/sys/src/cmd/webfs/mkfile @@ -3,6 +3,6 @@ BIN=/$objtype/bin TARG=webfs HFILES=fns.h dat.h -OFILES=sub.$O url.$O buq.$O http.$O fs.$O idn.$O +OFILES=sub.$O url.$O buq.$O http.$O fs.$O args, char*); - d = emalloc(Domlen); - if(utf2idn(s, d, Domlen) == nil) - d = s; - fmtprint(f, "%s", d); - if(d != s) - free(d); + if(utf2idn(s, d, sizeof(d)) != nil) + s = d; + fmtprint(f, "%s", s); return 0; }