>>199で問題になってるコードを天災
はっきり言って呼び出し側で解放したほうがいい典型例。
呼ばれた側で解放したければ、この関数を呼んでから
解放するような関数を書けと言いたい。

> 558 名前:デフォルトの名無しさん [sage]: 2008/02/09(土) 14:35:39
> >>557
>
> そう?ファンクショントレース埋め込むときとか、以下のように
> エラーの場合、リソース開放して戻るときとか頻繁に使うなぁ。
> {
>   A *a = NULL; B *b = NULL; C *c = NULL; int result = E_UNKNOWN;
>
>   if ((a = A_new()) == NULL) {
>     result = E_MEM; goto END_FUNC;
>   }
>   if ((b = B_new()) == NULL) {
> ...
>
> END_FUNC:
>   if (a !=NULL && result != E_SUCCESS) {
>     A_free(a);
>   }
>   ...
> }