これでどう? --- src/rateup.c.orig Thu Jan 12 19:29:00 2012 +++ src/rateup.c Thu Apr 12 10:49:05 2012 @@ -1132,7 +1132,7 @@ gdImageDestroy (brush_outp); free (lhist); free (graph_label); - if (kMG) + if (kMG && short_si[0] != kMG) free(short_si);
(2012/05/09 22:32), Koh-ichi Oniuda (鬼生田浩一) wrote: > 鬼生田です。 > > FreeBSD 9.0-STABLE i386サーバ上で、以下の順にportsから > installしたMRTGのrateupがcoreを吐きます。 > png-1.4.11 (ports) > mrtg-2.17.4,1 (ports) > > googleで検索してみるとlibpngのバージョンアップトラブルなど > ヒットしましたが、今回のインストールでは、新規サーバ構築って > こともあり、libpng -> MRTGの順でインストールしています。 > > configファイルは、FreeBSD 6.4-stable + mrtg-2.15.2で使用して > いたものと、ほとんど同じです。coreを吐く箇所は、real + swapメモリ > の以下のパラメータ指定をした場合で、コメントアウトすると問題あり > ませんし、他のtrafficやloadなども問題ありません。 > > kilo[memory]: 1024 > kMG[memory]: k,M,G > > またmemory-day.pngは問題なく作成され(画像を確認)memory-week.png作成 > 時にcoreを吐き、memory-week.png.tmp_<PID>ファイルが残ります。core > ファイルには、Potential overflow in png_zalloc()のエラーが記録され > ており、libpngの問題かとも考えましたが、特定にはいたりませんでした。 > > 問題の切り分けのため、うまく動作しているバージョン 2.15.2 を > make NO_CHECKSUM=yes でportsでmakeし、rateup だけを入れ替えた所、同じ > mrtg.cnf ファイルでもcoreを吐かなくなりました。 > > MRTG(rateup)のバグの可能性が高いですが、情報提供を期待しての、 > workaroundの報告です。 > > --- > Oniuda