dtdocbook/instant: fix buffer overlow on German umlaut in latin-1
authorMarcin Cieślak <saper@saper.info>
Sat, 30 Nov 2019 03:51:40 +0000 (03:51 +0000)
committerJon Trulson <jon@radscan.com>
Sat, 30 Nov 2019 17:13:43 +0000 (10:13 -0700)
commit5cebd7c4da1afea353a3baef250e31a4cf867bc5
treebf99d1ab4b79140fc21c7cf5d04321d48a1ba321
parent9221c55a5f811986eaf0e01301827c294ac2e29b
dtdocbook/instant: fix buffer overlow on German umlaut in latin-1

One-off error:

Old buffer length was 6 for one character (3 * 1 + 3)
We need one more byte par character in the buffer for
the hex representation of it.

+0 '"'
+1 '\\'
+2 'x'
+3 'f'
+4 'c'
+5 '"'
+6 0x0 << overflow

tcl combined with RCHECK will abort because memory blocks
are allocated contiguously and we overwrite the magic marker
of the next block.
cde/programs/dtdocbook/instant/main.c