[2199] Re:ポインタ完全制覇 - read_slogan.c
投稿者:(ぱ)こと管理人
2019/11/16 02:04:54
はじめまして。ご指摘ありがとうございます。
>buf[slogan_len - 1] = '\0';
>
>したあと、
>
>slogan[i] = malloc(sizeof(char) * (slogan_len + 1));
>
>していますが、bufの大きさは、slogan_len byteで十分なので、
通常、文字数がlenのとき、'\0'の分を含めてlen+1だけmalloc()するのが
定石ですが、このケースではslogan_lenは改行文字を含んでいて、
その改行文字を'\0'に置き換えるので、malloc()するのはslogan_lenの
分だけでよいですね。
改定前のものからのミスだと思います。正直、まだポカが残っているとは
思いませんでした……
正誤表に入れさせていただきます。