Go to file
Philipp Thomas 76ec8e73db Fix buffer overflow in preproc.c (BR 1942146)
Fix buffer overflow in preproc.c due to an incorrect test.  In the
code:

        for (r = p, s = ourcopy; *r; r++) {
	    if (r >= p+MAX_KEYWORD)
	    	return tokval->t_type = TOKEN_ID; /* Not a keyword */
            *s++ = tolower(*r);
	    }
        *s = '\0';

... the test really needs to be >= since for the pass where there are
equal:

a) a nonzero byte means we have > MAX_KEYWORD characters, and
b) s = ourcopy+MAX_KEYWORD; but if the test doesn't trigger,
   we can write one more character *plus* the null byte, overflowing
   ourcopy.
2008-05-21 08:53:21 -07:00
doc inslist.pl: deal with the new encoding format 2008-05-20 18:33:40 -07:00
inttypes
lcc
lib Formatting: kill off "stealth whitespace" 2007-10-19 14:42:29 -07:00
misc insns.dat: make even wider to make space for AVX 2008-05-20 11:04:26 -07:00
Mkfiles openwcom.mak: wmake uses & for continuation, not \ (sigh) 2008-05-20 14:42:53 -07:00
output Temporaries in macros need a unique prefix; WSAA*() macros to header 2008-04-10 14:56:09 -07:00
perllib phash: cut random vector set down a bit 2008-05-20 16:46:36 -07:00
rdoff rdx: Add cast avoid warning from gcc 2008-05-20 14:25:36 -07:00
test Handle is4 bytes without meaningful information in the bottom bits 2008-05-20 19:29:04 -07:00
.gitignore Anchor filename locations in .gitignore 2007-10-19 13:17:24 -07:00
aclocal.m4
assemble.c Handle is4 bytes without meaningful information in the bottom bits 2008-05-20 19:29:04 -07:00
assemble.h regularized spelling of license to match name of LICENSE file 2007-12-29 09:44:23 -05:00
AUTHORS
autogen.sh autogen.sh: remove config.status 2008-04-10 14:54:02 -07:00
ChangeLog Documention Changes for Release 2.00 2007-11-25 14:25:13 -08:00
CHANGES Add %ifempty and variants 2008-02-16 17:01:40 -08:00
compiler.h Some compilers define __386__ instead of __i386__ 2008-02-16 15:28:02 -08:00
configure.in Better handling of platforms which hide "extended" functionality 2007-10-26 18:49:29 -07:00
COPYING Update COPYING file with the latest edition of LGPL 2.1 2007-11-29 14:51:47 -08:00
crc64.c Portability fixes 2007-10-02 21:53:51 -07:00
disasm.c VEX prefixes apply to VEX instructions only... 2008-05-20 23:36:36 -07:00
disasm.h regularized spelling of license to match name of LICENSE file 2007-12-29 09:44:23 -05:00
eval.c Display fully qualified local label in "not defined" message 2008-03-12 22:39:03 -07:00
eval.h regularized spelling of license to match name of LICENSE file 2007-12-29 09:44:23 -05:00
exprlib.c Formatting: kill off "stealth whitespace" 2007-10-19 14:42:29 -07:00
float.c float.c: BR 1879670: fix output byte order 2008-01-25 08:11:23 -08:00
float.h regularized spelling of license to match name of LICENSE file 2007-12-29 09:44:23 -05:00
hashtbl.c Formatting: kill off "stealth whitespace" 2007-10-19 14:42:29 -07:00
hashtbl.h
insns.dat insns typo fix: SSE5 FNM* instructions misspelled 2008-05-21 08:45:17 -07:00
insns.h Add DY, YWORD, and the SY instruction flag 2008-05-20 11:43:53 -07:00
insns.pl Handle is4 bytes without meaningful information in the bottom bits 2008-05-20 19:29:04 -07:00
INSTALL Add OS/2 build instructions since our binaries don't work. 2007-11-28 10:42:21 -08:00
install-sh
labels.c Display fully qualified local label in "not defined" message 2008-03-12 22:39:03 -07:00
labels.h Display fully qualified local label in "not defined" message 2008-03-12 22:39:03 -07:00
LICENSE LICENSE: Break long line 2007-10-05 17:01:15 -07:00
listing.c regularized spelling of license to match name of LICENSE file 2007-12-29 09:44:23 -05:00
listing.h regularized spelling of license to match name of LICENSE file 2007-12-29 09:44:23 -05:00
macros.pl Avoid #including .c files; instead compile as separate units 2008-05-20 14:21:29 -07:00
Makefile.in Avoid #including .c files; instead compile as separate units 2008-05-20 14:21:29 -07:00
mkdep.pl Fix "carryover" of exclude information from one file to another. 2008-02-05 21:28:44 -08:00
nasm.1
nasm.c Add DY, YWORD, and the SY instruction flag 2008-05-20 11:43:53 -07:00
nasm.h Add support for ymm0 in instructions 2008-05-20 16:47:12 -07:00
nasm.spec.in specfile: correctly handle compressed manpages 2007-12-26 10:18:01 -08:00
nasmlib.c First cut at AVX machinery. 2008-05-04 17:53:31 -07:00
nasmlib.h Temporaries in macros need a unique prefix; WSAA*() macros to header 2008-04-10 14:56:09 -07:00
ndisasm.1
ndisasm.c regularized spelling of license to match name of LICENSE file 2007-12-29 09:44:23 -05:00
outform.c regularized spelling of license to match name of LICENSE file 2007-12-29 09:44:23 -05:00
outform.h outform: make OF_DOS include OF_COFF 2008-02-17 18:54:13 -08:00
parser.c No 32-byte floating point format: fix error for DY 2008-05-20 14:49:32 -07:00
parser.h regularized spelling of license to match name of LICENSE file 2007-12-29 09:44:23 -05:00
phash.pl
pptok.dat Add %ifempty and variants 2008-02-16 17:01:40 -08:00
pptok.pl Formatting: kill off "stealth whitespace" 2007-10-19 14:42:29 -07:00
preproc.c Fix buffer overflow in preproc.c (BR 1942146) 2008-05-21 08:53:21 -07:00
preproc.h regularized spelling of license to match name of LICENSE file 2007-12-29 09:44:23 -05:00
README
regs.dat Add support for ymm0 in instructions 2008-05-20 16:47:12 -07:00
regs.pl Readability improvements for regdis.c 2008-05-20 14:39:36 -07:00
standard.mac Comma-separate contents of __FLOAT__ 2007-10-16 14:42:32 -07:00
stdscan.c Support binary and octal floating-point 2007-10-22 17:34:10 -07:00
stdscan.h regularized spelling of license to match name of LICENSE file 2007-12-29 09:44:23 -05:00
sync.c regularized spelling of license to match name of LICENSE file 2007-12-29 09:44:23 -05:00
sync.h regularized spelling of license to match name of LICENSE file 2007-12-29 09:44:23 -05:00
tables.h Avoid #including .c files; instead compile as separate units 2008-05-20 14:21:29 -07:00
TODO
tokens.dat Add DY, YWORD, and the SY instruction flag 2008-05-20 11:43:53 -07:00
tokhash.pl Formatting: kill off "stealth whitespace" 2007-10-19 14:42:29 -07:00
version NASM 2.02 2008-02-19 11:01:08 -08:00
version.pl version.pl: produce Makefile variables 2008-02-05 21:29:32 -08:00
wsaa.h First cut at AVX machinery. 2008-05-04 17:53:31 -07:00

              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 LGPL.
This means its development is open to even wider society of
programmers wishing to improve their lovely assembler.

The NASM project is now situated at SourceForge.net, the most
popular Open Source development site on the Internet.

Visit our website at http://nasm.sourceforge.net/ and our
SourceForge project at http://sourceforge.net/projects/nasm/

See the file CHANGES for the description of changes between revisions.

                                                   With best regards,
                                                           NASM crew.