(toppers-users 4737) Re: TINET 1.7のNULLポインタアクセスについて

ABE Tsukasa abe @ tomakomai-ct.ac.jp
2018年 1月 23日 (火) 12:07:50 JST


畑様

苫小牧高専の阿部です。

> 阿部先生
> 
> お世話になっております。 畑です。
> 対応ありがとうございます。
> 
> 
>    アセンブラを詳しく見ると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