summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcinap_lenrek <cinap_lenrek@felloff.net>2021-10-31 12:43:47 +0000
committercinap_lenrek <cinap_lenrek@felloff.net>2021-10-31 12:43:47 +0000
commit1051b023a8ad828574bf4dba17954826ebc33418 (patch)
treef830cf9d1a50018d777c54cf9cc052e94378d01f
parent32665f51c7f5637e96fa0713584493e7060a8e98 (diff)
libc: idn2utf()/utf2idn(): check for < 1 buffer, can't insert terminating NUL.
-rw-r--r--sys/src/libc/9sys/idn.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/sys/src/libc/9sys/idn.c b/sys/src/libc/9sys/idn.c
index ad05890a8..3f807c4a2 100644
--- a/sys/src/libc/9sys/idn.c
+++ b/sys/src/libc/9sys/idn.c
@@ -191,6 +191,9 @@ idn2utf(char *name, char *buf, int nbuf)
Rune rb[Domlen], r;
int nc, nr, n;
+ if(nbuf < 1)
+ return -1;
+
cp = name;
dp = buf;
de = dp+nbuf-1;
@@ -231,6 +234,9 @@ utf2idn(char *name, char *buf, int nbuf)
Rune rb[Domlen], r;
int nc, nr, n;
+ if(nbuf < 1)
+ return -1;
+
dp = buf;
de = dp+nbuf-1;
cp = name;