[espeak-ng:master] new issue: Buffer overflow when compiling dictionaries #github
firstname.lastname@example.org Integration <espeak-ng@...>
[espeak-ng:master] New Issue Created by feerrenrut:
#287 Buffer overflow when compiling dictionaries
While updating the NVDA espeak-ng submodule to commit fb97d1bd7564c2ff7c305cf7fcbdd29132234846 we have run into some problems compiling the dictionaries. The build system was occasionally halting with a python crash. After some investigation I found that a missing new line at the end of 'ar_listx' was causing a buffer overrun, which I have worked around with https://github.com/nvaccess/espeak-ng/commit/0994206f710a4defc1eecfb78ab70ff57c58fcda.
For this problem (missing new line character); assuming there is no technical reason that a new line character must be present, I suggest that the dictionary compilation is modified to accept files with missing new lines. Otherwise, to save time in debugging and accidental newlines I suggest that a missing newline is detected and reported during dictionary compilation.
There still seems to be a crash or sometimes the process runs indefinitely. Further investigation has led me to find that in
I don't really understand how length comes to be -117. I added some asserts (and then built espeak with
Also the branch of NVDA that is used to build the
To reproduce locally: