diff options
author | Ori Bernstein <ori@eigenstate.org> | 2020-08-01 10:49:29 -0700 |
---|---|---|
committer | Ori Bernstein <ori@eigenstate.org> | 2020-08-01 10:49:29 -0700 |
commit | 6dbecfb457d1625687f2338696c2b8195c831ae4 (patch) | |
tree | 3a3973a5993333cfb0a35c138cf6f9e6c0a2b97b /sys/src/cmd/htmlroff | |
parent | 0eb81f732044895cf09c763bf5b63a54b29f6461 (diff) |
htmlroff: fix out of bounds access (thanks Rei-sen, via plan9port)
_readx() uses rune count as its argument and not size, so we should
pass nelem() instead of sizeof().
Diffstat (limited to 'sys/src/cmd/htmlroff')
-rw-r--r-- | sys/src/cmd/htmlroff/roff.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/src/cmd/htmlroff/roff.c b/sys/src/cmd/htmlroff/roff.c index 6a7cd09e4..831cf83fe 100644 --- a/sys/src/cmd/htmlroff/roff.c +++ b/sys/src/cmd/htmlroff/roff.c @@ -257,7 +257,7 @@ copyarg(void) int c; Rune *r; - if(_readx(buf, sizeof buf, ArgMode, 0) < 0) + if(_readx(buf, nelem(buf), ArgMode, 0) < 0) return nil; r = runestrstr(buf, L("\\\"")); if(r){ @@ -280,7 +280,7 @@ readline(int m) static Rune buf[MaxLine]; Rune *r; - if(_readx(buf, sizeof buf, m, 1) < 0) + if(_readx(buf, nelem(buf), m, 1) < 0) return nil; r = erunestrdup(buf); return r; |