いやはや...
いくらメンテされていないいえど,こんなバグのあるとは
いわゆる可変配列の配列を拡張する部分だけど.
static boolean nslib_list_grow(nslib_list_t * list){ void ** tmp; list->size += list->grow; tmp = (void **)REALLOC(list->contents, sizeof(void *) * list->size); if (tmp == NULL){ return FALSE; } if (tmp != list->contents){ memcpy(tmp, list->contents, list->size * sizeof(void *)); } list->contents = tmp; return TRUE; }
の
if (tmp != list->contents){ memcpy(tmp, list->contents, list->size * sizeof(void *)); } }
って何でしょうね.
ん〜,確か最終リリースのはずだよな...いままで問題になったことないのかな...
まあ,10以上じゃなきゃ,初期のサイズのまんまだから問題ないだろうけど...
はじめは何とか回避していたけど,別のマシンで動かしたら,完全にセグッてどうしょうもなかった.まあ,簡単なバグでよかったよ...これ使えんとほかに手がなかったからな...
#まあ,まだバグあるかも知れんけど.
ちょっとあんまりにもお間抜けなんで,書いてしまいますた.