summaryrefslogtreecommitdiff
path: root/sys/src/cmd/webfs/url.c
diff options
context:
space:
mode:
authorcinap_lenrek <cinap_lenrek@felloff.net>2018-09-25 20:15:24 +0200
committercinap_lenrek <cinap_lenrek@felloff.net>2018-09-25 20:15:24 +0200
commitd5f2d2cc3fc7c2d3701e906df5d2d53781c4ee9c (patch)
treee2d961b5a76e14bc8a8cfa321235d7e2020c6077 /sys/src/cmd/webfs/url.c
parentdfec09c436a8a328fc97007cf2dc3cd5476cc748 (diff)
webfs: fix memory leak in Nfmt(), use libc's new idn functions
Diffstat (limited to 'sys/src/cmd/webfs/url.c')
-rw-r--r--sys/src/cmd/webfs/url.c11
1 files changed, 4 insertions, 7 deletions
diff --git a/sys/src/cmd/webfs/url.c b/sys/src/cmd/webfs/url.c
index 82e0a4c2b..65ed53802 100644
--- a/sys/src/cmd/webfs/url.c
+++ b/sys/src/cmd/webfs/url.c
@@ -73,15 +73,12 @@ Efmt(Fmt *f)
int
Nfmt(Fmt *f)
{
- char *d, *s;
+ char d[Domlen], *s;
s = va_arg(f->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;
}