mirror of
https://github.com/netwide-assembler/nasm.git
synced 2025-02-23 17:29:23 +08:00
It turns out that in tokenize() we would sometimes truncate a token string by inserting a NUL into the input string, expecting new_Token() to pick it up using strlen(). With explicit lengths, that no longer works, but there is a better solution anyway: instead of inserting NUL characters, keep track of where the token actually ends and feed the correct length to new_Token(). This triggered a buffer overflow in detoken(), add a debug level 2 assert for this condition. Use a relatively high debug level, because strlen() is fairly expensive, and this is an extremely performance-critical path. Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com> |
||
---|---|---|
asm | ||
autoconf | ||
common | ||
config | ||
contrib | ||
disasm | ||
doc | ||
headers | ||
include | ||
macros | ||
misc | ||
Mkfiles | ||
nasmlib | ||
nsis | ||
output | ||
perllib | ||
rdoff | ||
stdlib | ||
test | ||
tools | ||
travis | ||
x86 | ||
.gitignore | ||
.travis.yml | ||
AUTHORS | ||
autogen.sh | ||
ChangeLog | ||
CHANGES | ||
configure.ac | ||
INSTALL | ||
LICENSE | ||
Makefile.in | ||
nasm.spec.in | ||
nasm.spec.sed | ||
nasm.txt | ||
ndisasm.txt | ||
README.md | ||
SubmittingPatches | ||
version | ||
version.pl |
NASM, the Netwide Assembler
Many many developers all over the net respect NASM for what it is: a widespread (thus netwide), portable (thus netwide!), very flexible and mature assembler tool with support for many output formats (thus netwide!!).
Now we have good news for you: NASM is licensed under the "simplified" (2-clause) BSD license. This means its development is open to even wider society of programmers wishing to improve their lovely assembler.
Visit our nasm.us website for more details. We are gradually moving services away from Sourceforge. For our remaining Sourceforge services see here.
With best regards, the NASM crew.