realloc

ありがちですねぇ。以前比較関数の話を書いたら割と反響がありましたが、Google CodeSearch でまずい比較関数を探すのは難しそう。て、関係ないな。
さて、以下のコードのまずい点は何でしょう?(まずいかどうかは場合によりけりだけど)

char *ptr;
// do something
ptr = malloc(sizeof(char) * n);
// do something
ptr = realloc(ptr, sizeof(char) * n * 2);