X-Git-Url: http://j8takagi.net/cgi-bin/gitweb.cgi?p=YACASL2.git;a=blobdiff_plain;f=src%2Fexec.c;h=35aec47abe17a5e9b4b64ab2810f8957bde5d2d7;hp=32913f5ec096e93629dd466ba15fbbef65ab3a8a;hb=555c5e8b851becc08ba661a9cb19f617d5a00c12;hpb=288d61424576d1aae956ea8e4b5fb89dc25909db diff --git a/src/exec.c b/src/exec.c index 32913f5..35aec47 100644 --- a/src/exec.c +++ b/src/exec.c @@ -23,7 +23,7 @@ EXECMODE execmode = {false, false, false}; void svcin() { int i; - char *buffer = malloc_chk(INSIZE + 1,"svcin.buffer"); + char *buffer = malloc_chk(INSIZE + 1, "svcin.buffer"); if(fgets(buffer, INSIZE, stdin) == NULL) { sys->memory[sys->cpu->gr[1]] = sys->memory[sys->cpu->gr[2]] = 0x0; @@ -41,6 +41,7 @@ void svcin() sys->memory[sys->cpu->gr[1]+i] = *(buffer + i); } sys->memory[sys->cpu->gr[2]] = i + 1; + free_chk(buffer, "buffer"); } /* 標準出力へ文字データを書出(SVC 2) */ @@ -347,6 +348,7 @@ bool exec() val = sys->memory[val]; } } + free_chk(errpr, "errpr"); /* 主オペランドが1〜4の場合、第2ビットを無視 */ if(op >= 0x1000 && op <= 0x4FFF) { op &= 0xFB00;