(toppers-users 4738) Re: TINET 1.7のNULLポインタアクセスについて
H.Hata
hgarb @ lowl.eek.jp
2018年 1月 25日 (木) 00:59:11 JST
阿部先生
お世話になっております。畑です。
検討ありがとうございます。
こちらも至急の報告ではないので更新は阿部先生の都合の
良い時にお願いします。
ご無理なさらず、お大事にどうぞ。
On Tue, 23 Jan 2018 12:07:50 +0900
ABE Tsukasa <abe @ tomakomai-ct.ac.jp> wrote:
> 畑様
>
> 苫小牧高専の阿部です。
>
> > 阿部先生
> >
> > お世話になっております。 畑です。
> > 対応ありがとうございます。
> >
> >
> > アセンブラを詳しく見るとNULLポインタアクセスの前に変数が0x7fffffffと
> > 一致した場合のみNULLポインタアクセスが実行されるコードが生成されています。
> >
> >>> 08002279 <.LM18>:
> >>> 8002279: 74 0e ff ff ff 7f cmp #0x7fffffff, r14
> >>> 800227f: 21 2d bne.b 80022ac <.LM29>
> >>>
> >>> 08002281 <.LM19>:
> >>> 8002281: 66 07 mov.l #0, r7
> >>> 8002283: 84 77 mov.b r7, 16[r7] ; NULL ポインタアクセス
> >>> 8002285: 05 92 dd ff bsr.a 8000017 <_abort> ; abort挿入
> >
> >
> > 上記を踏まえてコードを見ると2213行目と2218行目の条件式でdiffが0以下と
> > 0x7fffffff未満の条件は記載されていますが、一致する条件が漏れています。
> > gccはこれを検出して一致条件でのNULLポインタアクセスを生成したようです。
> >
> > お忙しいとは思いますが、コード修正の検討をお願いします。
> >
>
> こちらで検討します。
> ただし、健康上の理由と、
> 検証のための開発環境の整備等が必要になりますので、
> 正式な対応は時間をいただきたいと思います。
>
> よろしくお願いします。
>
> --
> .\" 苫小牧工業高等専門学校 創造工学科 情報科学・工学系
> .\" 教授 阿部 司
> .\" 〒059-1275 北海道苫小牧市字錦岡443番地
> .\" E-mail: abe @ tomakomai-ct.ac.jp TEL/FAX: 0144-67-8937
--
H.Hata <hgarb @ lowl.eek.jp>