mu/arc/.traces/string-copy-out-of-bounds-2

96 lines
4.3 KiB
Plaintext

c{0: 0 (((1 string-address)) <- ((new)) abc) -- nil
c{0: 1 (((2 string-address)) <- ((string-copy)) ((1 string-address)) ((3 literal)) ((3 literal))) -- nil
c{1: 0 ✓ (((1 string-address)) <- ((new)) abc)
c{1: 1 ✓ (((2 string-address)) <- ((string-copy)) ((1 string-address)) ((3 literal)) ((3 literal)))
cn0: convert-names in main
cn0: (((1 string-address)) <- ((new)) abc) nil nil
cn0: checking arg abc
cn0: checking oarg ((1 string-address))
maybe-add: ((1 string-address))
cn0: (((2 string-address)) <- ((string-copy)) ((1 string-address)) ((3 literal)) ((3 literal))) nil nil
cn0: checking arg ((1 string-address))
maybe-add: ((1 string-address))
cn0: checking arg ((3 literal))
cn0: checking arg ((3 literal))
cn0: checking oarg ((2 string-address))
maybe-add: ((2 string-address))
cn1: (((1 string-address)) <- ((new)) abc)
cn1: (((2 string-address)) <- ((string-copy)) ((1 string-address)) ((3 literal)) ((3 literal)))
schedule: main
run: main 0: (((1 string-address)) <- ((new)) abc)
run: main 0: 1000 => ((1 string-address))
mem: ((1 string-address)): 1 <= 1000
run: main 1: (((2 string-address)) <- ((string-copy)) ((1 string-address)) ((3 literal)) ((3 literal)))
mem: ((1 string-address)) => 1000
run: string-copy/main 0: (((default-space space-address)) <- ((new)) ((space literal)) ((30 literal)))
run: string-copy/main 0: 1004 => ((default-space space-address))
run: string-copy/main 1: (((1 string-address)) <- ((next-input)))
arg: nil 0 (1000 3 3)
run: string-copy/main 1: 1000 => ((1 string-address))
mem: ((1 string-address)): 1006 <= 1000
run: string-copy/main 2: (((2 integer)) <- ((next-input)))
arg: nil 1 (1000 3 3)
run: string-copy/main 2: 3 => ((2 integer))
mem: ((2 integer)): 1007 <= 3
run: string-copy/main 3: (((3 integer)) <- ((next-input)))
arg: nil 2 (1000 3 3)
run: string-copy/main 3: 3 => ((3 integer))
mem: ((3 integer)): 1008 <= 3
run: string-copy/main 4: (((4 integer)) <- ((length)) ((1 string-address) (deref)))
array-len: ((1 string-address) (deref))
mem: ((1000 integer) (raw)) => 3
run: string-copy/main 4: 3 => ((4 integer))
mem: ((4 integer)): 1009 <= 3
run: string-copy/main 5: (((3 integer)) <- ((min)) ((4 integer)) ((3 integer)))
mem: ((4 integer)) => 3
mem: ((3 integer)) => 3
run: min/string-copy/main 0: (((default-space space-address)) <- ((new)) ((space literal)) ((30 literal)))
run: min/string-copy/main 0: 1035 => ((default-space space-address))
run: min/string-copy/main 1: (((1 integer)) <- ((next-input)))
arg: nil 0 (3 3)
run: min/string-copy/main 1: 3 => ((1 integer))
mem: ((1 integer)): 1037 <= 3
run: min/string-copy/main 2: (((2 integer)) <- ((next-input)))
arg: nil 1 (3 3)
run: min/string-copy/main 2: 3 => ((2 integer))
mem: ((2 integer)): 1038 <= 3
run: min/string-copy/main 3: (((3 boolean)) <- ((less-than)) ((1 integer)) ((2 integer)))
mem: ((1 integer)) => 3
mem: ((2 integer)) => 3
run: min/string-copy/main 3: nil => ((3 boolean))
mem: ((3 boolean)): 1039 <= nil
run: min/string-copy/main 4: (((jump-if)) ((3 boolean)) ((1 offset)))
mem: ((3 boolean)) => nil
run: min/string-copy/main 5: (((reply)) ((2 integer)))
mem: ((2 integer)) => 3
run: string-copy/main 5: 3 => ((3 integer))
mem: ((3 integer)): 1008 <= 3
run: string-copy/main 6: (((4 integer)) <- ((subtract)) ((3 integer)) ((2 integer)))
mem: ((3 integer)) => 3
mem: ((2 integer)) => 3
run: string-copy/main 6: 0 => ((4 integer))
mem: ((4 integer)): 1009 <= 0
run: string-copy/main 7: (((5 string-address)) <- ((new)) ((string literal)) ((4 integer)))
mem: ((4 integer)) => 0
run: string-copy/main 7: 1066 => ((5 string-address))
mem: ((5 string-address)): 1010 <= 1066
run: string-copy/main 8: (((6 integer)) <- ((copy)) ((2 integer)))
mem: ((2 integer)) => 3
run: string-copy/main 8: 3 => ((6 integer))
mem: ((6 integer)): 1011 <= 3
run: string-copy/main 9: (((7 integer)) <- ((copy)) ((0 literal)))
run: string-copy/main 9: 0 => ((7 integer))
mem: ((7 integer)): 1012 <= 0
run: string-copy/main 10: (((8 boolean)) <- ((greater-or-equal)) ((6 integer)) ((3 integer)))
mem: ((6 integer)) => 3
mem: ((3 integer)) => 3
run: string-copy/main 10: t => ((8 boolean))
mem: ((8 boolean)): 1013 <= t
run: string-copy/main 11: (((jump-if)) ((8 boolean)) ((6 offset)))
mem: ((8 boolean)) => t
run: string-copy/main 18: (((reply)) ((5 string-address)))
mem: ((5 string-address)) => 1066
run: main 1: 1066 => ((2 string-address))
mem: ((2 string-address)): 2 <= 1066
schedule: done with routine nil