X-Git-Url: http://j8takagi.net/cgi-bin/gitweb.cgi?p=YACASL2.git;a=blobdiff_plain;f=src%2Fcasl2.c;h=7569f92a06acde918f7d347171a98ffdfe9bef3b;hp=40001ead331321c7f7478ea1d8ddc51a268631d2;hb=555c5e8b851becc08ba661a9cb19f617d5a00c12;hpb=de52e6f779e8682236319dd36180f1ab58ffeed9 diff --git a/src/casl2.c b/src/casl2.c index 40001ea..7569f92 100644 --- a/src/casl2.c +++ b/src/casl2.c @@ -128,7 +128,7 @@ int main(int argc, char *argv[]) for(pass = FIRST; pass <= SECOND; pass++) { if(pass == FIRST) { create_cmdtype_code(); /* 命令と命令タイプがキーのハッシュ表を作成 */ - asprop = malloc_chk(sizeof(ASPROP), "asprop"); + asprop = malloc_chk(sizeof(ASPROP), "asprop"); /* アセンブル時のプロパティ用の領域確保 */ } for(i = optind; i < argc; i++) { /* データの格納開始位置 */ @@ -155,8 +155,10 @@ int main(int argc, char *argv[]) } } if(pass == SECOND) { - free_cmdtype_code(); /* 命令と命令タイプがキーのハッシュ表を解放 */ freelabel(); /* ラベルハッシュ表を解放 */ + free_chk(asprop->prog, "asprop.prog"); /* プログラム名を解放 */ + free_chk(asprop, "asprop"); /* アセンブル時のプロパティを解放 */ + free_cmdtype_code(); /* 命令と命令タイプがキーのハッシュ表を解放 */ } } if(res == true) { @@ -174,6 +176,7 @@ int main(int argc, char *argv[]) if(cerr->num > 0) { status = -1; } + free_chk(objfile, "objfile"); /* エラーの解放 */ freecerr(); return status;