Go to file
H. Peter Anvin (Intel) 98031bfff4 preproc.c: make sure we have the correct token lengths
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>
2019-08-09 16:11:28 -07:00
asm preproc.c: make sure we have the correct token lengths 2019-08-09 16:11:28 -07:00
autoconf fix pa_add_headers.m4 for development versions of autoconf (bug 3392471) 2019-08-07 17:22:10 -07:00
common Don't sort opcodes; move all pseudo-ops to the beginning 2017-05-01 21:44:24 -07:00
config msvc.h: Allow building with MSVC versions older than 1700 2019-08-07 17:59:29 -07:00
contrib
disasm Remove #includes already provided by "compiler.h" 2018-12-27 12:45:44 -08:00
doc doc: actually build and propagate fontpath file 2019-08-06 23:07:44 -07:00
headers
include compiler.h: fix bad typedef in case of HAVE__BOOL 2019-08-09 13:58:31 -07:00
macros perl files: clean up warnings 2019-08-09 13:30:19 -07:00
misc Move <string.h> inclusion to compiler.h 2018-12-26 06:32:37 -08:00
Mkfiles iflags: move definitions to a separate file; auto-generate more 2019-08-06 22:12:11 -07:00
nasmlib perl files: clean up warnings 2019-08-09 13:30:19 -07:00
nsis nsis: use /solid compression for smaller size 2017-04-07 11:05:09 -07:00
output Diagnostics: make debug more dynamic, note -> info, add listmsg level 2019-08-09 04:28:55 -07:00
perllib perl files: clean up warnings 2019-08-09 13:30:19 -07:00
rdoff Move <string.h> inclusion to compiler.h 2018-12-26 06:32:37 -08:00
stdlib Remove #includes already provided by "compiler.h" 2018-12-27 12:45:44 -08:00
test obsolete handing: handle a few more subcases in a useful way 2019-08-09 14:52:16 -07:00
tools perl files: clean up warnings 2019-08-09 13:30:19 -07:00
travis Warn if trying to assemble obsolete instructions 2019-08-06 22:56:51 -07:00
x86 obsolete handing: handle a few more subcases in a useful way 2019-08-09 14:52:16 -07:00
.gitignore doc: actually build and propagate fontpath file 2019-08-06 23:07:44 -07:00
.travis.yml travis: Disable osx for a while 2018-10-17 21:40:14 +03:00
AUTHORS Correct name spelling and email address 2015-01-18 20:21:14 +02:00
autogen.sh autogen.sh: allow overriding autotools location, and handle missing 2019-08-07 17:43:20 -07:00
ChangeLog
CHANGES
configure.ac file.c: handle long pathnames on Windows 2019-05-15 13:07:21 -07:00
INSTALL
LICENSE LICENSE: update year 2010-08-12 20:15:27 -07:00
Makefile.in iflags: move definitions to a separate file; auto-generate more 2019-08-06 22:12:11 -07:00
nasm.spec.in nasm.spec.in: remove obsolete files 2018-12-26 06:13:06 -08:00
nasm.spec.sed nasm.spec: use a sed file to insert perl dependencies 2017-04-23 18:54:23 -07:00
nasm.txt Add group aliases for all prefixed warnings. 2019-06-06 20:53:17 -07:00
ndisasm.txt ndisasm: man -- Add missing -p option 2013-04-20 20:18:46 +04:00
README.md Add travis status into readme 2018-10-17 21:40:14 +03:00
SubmittingPatches Add SubmittingPatches file 2010-10-03 21:02:08 +04:00
version NASM 2.14.03rc2 2018-12-30 07:56:59 -08:00
version.pl perl files: clean up warnings 2019-08-09 13:30:19 -07:00

NASM, the Netwide Assembler

master

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.