|
カテゴリ:カテゴリ未分類
昨日、例にあげた構造は、うまく解決できたものの、やはり、コーデック名称への変換をする直前で、エラーが発生します。
こうしたらどうか?ここはこうか?と、幾度も修正しては、bcc32 xxxx.c と、コンパイル->実行の繰り返し。 もう、そろそろ、試すケースがなくなりそうで、おそらく、確保したサイズ以上のところにアクセスしているんだろうと、言うことは予想が付くんですが、さて、どう特定したらいいのか、サッパリ。 http://homepage1.nifty.com/toshio-k/prog/c/qa/array1.html おそらく、そういうことが原因なんだろうな... 構造体を多用しているし、構造体もポインタで渡しているし。最悪、今、格闘しているソースを固めて、ブログ経由で公開し、また、どなたかにデバグのヘルプをお願いするかもしれません。さすがに、まだ、まだ、ポインタを誤って使用している箇所があるのかもしれません。 23:45追加 buf = ( unsigned char * )malloc(4); という領域を確保しておきながら、 readsize=osd_fread(p_osd_f,buf,16); と、bufに16バイトを読み込ませている部分を発見。 ※osd_freadは、自作ファイル操作ライブラリです。 mallocで、16バイトに修正したところ、特定のwavで、落ちる現象はなくなりました。 明日、また、他のwavを解析させて、様子見です。 いづれにしろ、iniを読み込む部分は、今回書き換えた方のが、ベターだと思うので、サンプルを公開したものに、修正を掛ける予定です。 とりあえず、自力で、バグを見つけられたことが、非常に、良かった。 お気に入りの記事を「いいね!」で応援しよう
|