Commit Graph

4 Commits

Author SHA1 Message Date
ISSOtm
59546c8980 Un-trivialize expression in long RPN expr test 2020-03-05 04:33:43 +01:00
ISSOtm
eee0e6adc8 Simplify long-rpn-expression.asm test 2020-02-29 16:39:13 +01:00
ISSOtm
fa10ee4356 Deprecate colon-less non-local labels 2020-02-29 16:30:47 +01:00
dbrotz
015d2b0830 Fix buffer overflow when creating patches with long RPN expressions
The createpatch() function was using a fixed-size buffer. I've changed it
to be dynamically allocated. I saw that the RPN format used in patches is
slightly different from the one used internally in the assembler, so I
added a new member to the Expression struct to track the patch size.

I've also limited the RPN expression length to 1MB. I realized that the
patch RPN expression could potentially be longer than the internal RPN
expression, so the internal expression would need a limit smaller than
UINT32_MAX. I thought 1MB would be a reasonable limit.
2019-07-04 16:49:09 -07:00