プロが教える店舗&オフィスのセキュリティ対策術

malloc()を使用する箇所にメモリ確保時の例外処理を
行うようにしていますが、そこに移る前にシステム関数
でセグメント例外にて落ちてしまいます。
原因が分かりません。
pstack core:
ff041bf8 _smalloc (8, ff0c27a0, 0, 8, 0, 0) + 8c
ff041c38 malloc (2, 0, ff0bc000, ff041c44, d00180, 0) + 20
ff15635c __1c2n6FI_pv_ (2, 82247, 13640, 557cc, ff169978, 2) + 28
000557cc __1cJSnmp_TrapNsnmp_trapsend6Fpkc222ki3E_b_ (163a8d8, 163a8f8, ffbedefc, ffbedf1c, 6, 1) + 17c
00055320 __1cJSnmp_TrapQsnmp_trapsendAll6MkiE_b_ (15b4648, 111e560, 81f88, 89438, d18ca0, 82050) + 5c0

宜しくお願い致します。

A 回答 (2件)

そういう場合は大抵、そこに至るまでの処理でメモリを破壊しています。



下記の観点でソース全体をチェックしてください。
・確保した領域をはみ出して書き込んでいないか
・不正なポインタを使用していないか
・free済みのメモリへのポインタを保持していてそれを使用していないか

などです。
    • good
    • 0
この回答へのお礼

情報有り難う御座います。
ソースはチェックしておりますが、具体的に
どこが悪いのかが分かりません。
申し訳ありませんが、初心者にも分かるように
チェックポイントをお教え頂けると幸いです。

お礼日時:2004/06/16 10:46

noname#6581さんの言うとおり、多分そこに至るまでの処理が問題でしょうね。


公開して問題の無い程度でソースの一部(流れが分かる事)を載せてみては如何でしょうか?
使用している変数の定義、初期化処理、代入処理等
mallocを使用している付近で関係しているものをトレースしてみるのも手だと思います。
特に直前にコールするサブルーチンがあればそこで破壊している可能性もありますね。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!