~rabbits/uxn

a1bc00ce5f4a78672717ad8193d5d2426a34d778 — Devine Lu Linvega 2 months ago 4e68dc7
(uxnasm) Fixed buffer overflow in tokenizer
3 files changed, 5 insertions(+), 5 deletions(-)

M build.sh
M src/uxn.c
M src/uxnasm.c
M build.sh => build.sh +1 -1
@@ 115,7 115,7 @@ echo "Assembling(asma).."
if [ $norun = 1 ]; then exit; fi

echo "Assembling(piano).."
./bin/uxnasm projects/software/piano.tal bin/piano.rom 2> bin/piano.log
./bin/uxnasm projects/software/piano.tal bin/piano.rom

echo "Running.."
./bin/uxnemu bin/piano.rom

M src/uxn.c => src/uxn.c +1 -1
@@ 32,8 32,8 @@ WITH REGARD TO THIS SOFTWARE.
int
uxn_eval(Uxn *u, Uint16 pc)
{
	Uint16 a, b, c, j, k, bs, instr;
	Uint8 kptr, *sp;
	Uint16 a, b, c, j, k, bs, instr;
	Stack *src, *dst;
	if(!pc || u->dev[0x0f]) return 0;
	while((instr = u->ram[pc++])) {

M src/uxnasm.c => src/uxnasm.c +3 -3
@@ 416,9 416,9 @@ assemble(FILE *f)
{
	char w[0x40];
	scpy("on-reset", p.scope, 0x40);
	while(fscanf(f, "%63s", w) == 1)
		if(!parse(w, f))
			return error("Unknown token", w);
	while(fscanf(f, "%62s", w) == 1)
		if(slen(w) > 0x3d || !parse(w, f))
			return error("Invalid token", w);
	return resolve();
}