diff options
author | cinap_lenrek <cinap_lenrek@felloff.net> | 2021-10-31 12:43:47 +0000 |
---|---|---|
committer | cinap_lenrek <cinap_lenrek@felloff.net> | 2021-10-31 12:43:47 +0000 |
commit | 1051b023a8ad828574bf4dba17954826ebc33418 (patch) | |
tree | f830cf9d1a50018d777c54cf9cc052e94378d01f | |
parent | 32665f51c7f5637e96fa0713584493e7060a8e98 (diff) |
libc: idn2utf()/utf2idn(): check for < 1 buffer, can't insert terminating NUL.
-rw-r--r-- | sys/src/libc/9sys/idn.c | 6 |
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; |