2015年3月29日日曜日

epgdump異常終了


なんかここ1週間くらいRSKのepgがとれていないようだ
コアダンプの結果、

eit.c:91行目あたり


 91 >---sprintf(buf, "%x", b->duration[0]);
 92 >---b->dhh = atoi(buf);

b->duration[0]には192がはいってた。
ただchar型なのでマイナスになる。
で、多分%xで「ffffなんとかかんとか」になる。
(どうでもいいけど、ubuntu標準の電卓は
 補数表現で表示できないのかな。不便なんだけど。 )

で、bufは4バイトしか無いので死ぬ。

とりあえずunsigned charにしたら死ななくなったようだ。

(5/7追記)
b->start_timeでも引っかかった
これもunsigned charにする。

0 件のコメント:

コメントを投稿