(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>