Security update for nasm

This update for nasm fixes the following issues:

nasm was updated to version 2.14.02.

This allows building of Mozilla Firefox 78ESR and also contains lots of bugfixes, security fixes
and improvements.

* Fix crash due to multiple errors or warnings during the code generation pass if a list file is specified.
* Create all system-defined macros defore processing command-line given preprocessing directives (-p, -d, -u, --pragma, --before).
* If debugging is enabled, define a __DEBUG_FORMAT__ predefined macro. See section 4.11.7.
* Fix an assert for the case in the obj format when a SEG operator refers to an EXTERN symbol declared further down in the code.
* Fix a corner case in the floating-point code where a binary, octal or
hexadecimal floating-point having at least 32, 11, or 8 mantissa digits
could produce slightly incorrect results under very specific conditions.
* Support -MD without a filename, for gcc compatibility. -MF can be used to set the dependencies output filename. See section 2.1.7.
* Fix -E in combination with -MD. See section 2.1.21.
* Fix missing errors on redefined labels; would cause convergence failure instead which is very slow and not easy to debug.
* Duplicate definitions of the same label with the same value is now explicitly permitted (2.14 would allow it in some circumstances.)
* Add the option --no-line to ignore %line directives in the source. See section 2.1.33 and section 4.10.1.
* Changed -I option semantics by adding a trailing path separator unconditionally.
* Fixed null dereference in corrupted invalid single line macros.
* Fixed division by zero which may happen if source code is malformed.
* Fixed out of bound access in processing of malformed segment override.
* Fixed out of bound access in certain EQU parsing.
* Fixed buffer underflow in float parsing.
* Added SGX (Intel Software Guard Extensions) instructions.
* Added +n syntax for multiple contiguous registers.
* Fixed subsections_via_symbols for macho object format.
* Added the --gprefix, --gpostfix, --lprefix, and --lpostfix command line options, to allow command line base symbol renaming. See section 2.1.28.
* Allow label renaming to be specified by %pragma in addition to from the command line. See section 6.9.
* Supported generic %pragma namespaces, output and debug. See section 6.10.
* Added the --pragma command line option to inject a %pragma directive. See section 2.1.29.
* Added the --before command line option to accept preprocess statement before input. See section 2.1.30.
* Added AVX512 VBMI2 (Additional Bit Manipulation), VNNI (Vector Neural Network), BITALG (Bit Algorithm), and GFNI (Galois Field New Instruction) instructions.
* Added the STATIC directive for local symbols that should be renamed using global-symbol rules. See section 6.8.
* Allow a symbol to be defined as EXTERN and then later overridden as GLOBAL or COMMON. Furthermore, a symbol declared EXTERN and then defined will be treated as GLOBAL. See section 6.5.
* The GLOBAL directive no longer is required to precede the definition of the symbol.
* Support private_extern as macho specific extension to the GLOBAL directive. See section 7.8.5.
* Updated UD0 encoding to match with the specification
* Added the --limit-X command line option to set execution limits. See section 2.1.31.
* Updated the Codeview version number to be aligned with MASM.
* Added the --keep-all command line option to preserve output files. See section 2.1.32.
* Added the --include command line option, an alias to -P (section 2.1.18).
* Added the --help command line option as an alias to -h (section 3.1).
* Added -W, -D, and -Q suffix aliases for RET instructions so the operand sizes of these instructions can be encoded without using o16, o32 or o64.

New upstream version 2.13.03:

* Add flags: AES, VAES, VPCLMULQDQ
* Add VPCLMULQDQ instruction
* elf: Add missing dwarf loc section
* documentation updates

This update was imported from the SUSE:SLE-15:Update update project.

Fixed bugs
bnc#1173538
[TRACKERBUG] ECO-2098 Firefox ESR78ESR
bnc#1084631
GCC 8: nasm build fails
bnc#1086186
VUL-1: CVE-2018-8883: nasm: Buffer over-read in the parse_line function in asm/parser.c via uncontrolled access to nasm_reg_flags
bnc#1086227
VUL-1: CVE-2018-8882: nasm: A stack-based buffer under-read in the function ieee_shr in asm/float.c via a large shift value.
bnc#1086228
VUL-1: CVE-2018-8881: nasm: A heap-based buffer over-read in the function tokenize in asm/preproc.c, related to an unterminated string.
bnc#1090519
VUL-1: CVE-2018-10254 nasm: Stack-based buffer over-read in disasm/disasm.c:disasm() can allow attackers to cause a denial of service
bnc#1090840
VUL-1: CVE-2018-10316: nasm: Endless while loop in the assemble_file function of a global lineno integer overflow
bnc#1106878
VUL-1: CVE-2018-16382: nasm: Netwide Assembler (NASM) 2.14rc15 has a buffer over-read in x86/regflags.c.
bnc#1107592
VUL-1: CVE-2018-1000667: nasm: Memory corruption in assemble_file() function in asm/nasm.c:482
bnc#1107594
VUL-1: CVE-2018-16517: nasm: asm/labels.c in Netwide Assembler (NASM) is prone to NULL Pointer Dereference,which allows the attacker to cause a denial of service via a crafted file.
bnc#1108404
VUL-1: CVE-2018-16999: nasm: invalid memory write (segmentationfault) in expand_smacro in preproc.c
bnc#1115758
VUL-1: CVE-2018-19216: nasm: use-after-free in detoken at asm/preproc.c
bnc#1115774
VUL-1: CVE-2018-19215: nasm: heap-based buffer over-read in expand_mmac_params in asm/preproc.c for the special cases of the % and $ and ! characters
bnc#1115795
VUL-1: CVE-2018-19214: nasm: heap-based buffer over-read in expand_mmac_params in asm/preproc.c for insufficient input
Selected Binaries
openSUSE Build Service is sponsored by