解決しました、有難うございます!
main関数で文字列を入力する前に
str=(char *)malloc(BUFSIZ*sizeof(char));
とすると上手くいきいました。
あと、それに加えて>293さんの処理も必要だったみたいです。

>240
私はポインタと配列の違いが良く分かってないDQNなんです