diff options
author | Kartik Agaram <vc@akkartik.com> | 2019-01-10 17:06:38 -0800 |
---|---|---|
committer | Kartik Agaram <vc@akkartik.com> | 2019-01-10 17:06:38 -0800 |
commit | 8b9dd2d1a9a86eb2bca7b67cb6bd4b707d63c042 (patch) | |
tree | dd040d1ce0943c5530c9e905863211001ee131ec /subx/apps/pack.subx | |
parent | f7f0d6318231ff081ed6ff2ef30d8e1823e11c70 (diff) | |
download | mu-8b9dd2d1a9a86eb2bca7b67cb6bd4b707d63c042.tar.gz |
4916
In the process of building slice primitives I found an out-of-bounds access in write-byte.
Diffstat (limited to 'subx/apps/pack.subx')
-rw-r--r-- | subx/apps/pack.subx | 3 |
1 files changed, 0 insertions, 3 deletions
diff --git a/subx/apps/pack.subx b/subx/apps/pack.subx index b5f39009..d83a5398 100644 --- a/subx/apps/pack.subx +++ b/subx/apps/pack.subx @@ -121,8 +121,6 @@ $main:end: # slice-equal?(slice, kernel string) # helpers: -# slice-empty?(in : &slice) -> bool -# slice-equal?(in : &slice, s : &kernel-string) -> bool # is-hex-int(in : &slice) # parse-hex-int(in : &slice) -> int # emit-maybe(out : &buffered-file, n : int, width : int) @@ -175,7 +173,6 @@ next-word: # line : (address stream byte), out : (address slice) # out->start = &line->data[line->read] 8b/copy 1/mod/*+disp8 6/rm32/ESI . . . 1/r32/ECX 4/disp8 . # copy *(ESI+4) to ECX 8d/copy-address 1/mod/*+disp8 4/rm32/sib 6/base/ESI 1/index/ECX . 0/r32/EAX 0xc/disp8 . # copy ESI+ECX+12 to EAX -#? $watch-1: 89/copy 0/mod/indirect 7/rm32/EDI . . . 0/r32/EAX . . # copy EAX to *EDI # if line->data[line->read] == '#': out->end = &line->data[line->write]), skip rest of stream and return # . EAX = line->data[line->read] |