User manual - アプリケーション作成上の注意点ver.1.00(2008年5月26日)

8
1-6.メモリブロック領域の確保/解放の不一致
【内容】
malloc 等の関数で確保した領域の未解放や、確保していないエリアの解放により、メモリエ
リアの整合性が取れなくなる。
【例】
①同一変数での複数回のエリア確保
unsigned char *area;
while(1){
area = malloc(AREA_SIZE);
}
(解放せずに、再度エリア確保)
②確保していないエリアの解放
unsigned char *area1, *area2;
area1 = malloc(AREA_SIZE);
free(area1);
free(area2);
(確保していないエリア area2 の解放を行う)
【対策】
決定的な対策はないが、malloc free は、極力同一関数内で実行するように
し、プログラム作成時にセットで組み込むようにする。