キャラクタの作成を途中でやりなおした時、
C_KILLを呼ぶべき箇所で誤ってC_WIPEを呼んでおり、直後に
C_MAKEでポインタを上書きしているため以前に確保した
領域が解放されておらずメモリリークが発生している。
正しくC_KILLを呼ぶようにする。
string_free(creature_ptr->last_message);
if (creature_ptr->inventory_list != NULL)
- C_WIPE(creature_ptr->inventory_list, INVEN_TOTAL, object_type);
+ C_KILL(creature_ptr->inventory_list, INVEN_TOTAL, object_type);
(void)WIPE(creature_ptr, player_type);
* @param creature_ptr プレーヤーへの参照ポインタ
* @return なし
* @details アンデッド系種族は開始時刻を夜からにする / Undead start just sunset
- * @details
+ * @details
*/
void init_turn(player_type *creature_ptr)
{
player_ptr->equip_cnt = 0;
if (player_ptr->inventory_list != NULL)
- C_WIPE(player_ptr->inventory_list, INVEN_TOTAL, object_type);
+ C_KILL(player_ptr->inventory_list, INVEN_TOTAL, object_type);
C_MAKE(player_ptr->inventory_list, INVEN_TOTAL, object_type);
int slot = 0;