Hi Tobi, I just got 1.0.50 and compiled it with -Wall on gcc 3.4.4 and got these warnings:
/usr/bin/gcc-3.4 -DHAVE_CONFIG_H -I. -I. -I.. -I../cgilib-0.4 -I../gd1.3 -Os -march=i386 -mtune=i686 -Wall -MT rrd_graph.lo -MD -MP -MF .deps/rrd_graph.Tpo -c rrd_graph.c -o rrd_graph.o rrd_graph.c: In function `copyImage': rrd_graph.c:2463: warning: passing arg 1 of `close' makes integer from pointer without a cast rrd_graph.c: In function `graph_paint': rrd_graph.c:2626: warning: the address of `rrd_test_error', will always evaluate as `true' rrd_graph.c:2773: warning: the address of `rrd_test_error', will always evaluate as `true' The first could cause a resource leak in file descriptors because the FILE* is being passed to close() and not fclose() and is not properly closed. The last two are just missing ()'s in the function call. Below is a patch. Regards, Blair -- Blair Zajac, Ph.D. <[EMAIL PROTECTED]> Subversion and Orca training and consulting http://www.orcaware.com/consulting/ Index: rrd_graph.c =================================================================== --- rrd_graph.c (revision 439) +++ rrd_graph.c (working copy) @@ -2460,7 +2460,7 @@ } gdImageDestroy(img); } - close(fi); + fclose(fi); } else { rrd_set_error("Error Opeing %s: %s",image, strerror(errno)); } @@ -2623,7 +2623,7 @@ if (im->bkg_image){ /* background image added first */ copyImage(gif,im->bkg_image,1); - if (rrd_test_error) return(-1); + if (rrd_test_error()) return(-1); } else { @@ -2770,7 +2770,7 @@ if (im->ovl_image) { /* overlay image added last */ copyImage(gif,im->ovl_image,0); - if (rrd_test_error) return(-1); + if (rrd_test_error()) return(-1); } if (strcmp(im->graphfile,"-")==0) { #ifdef WIN32 -- Unsubscribe mailto:[EMAIL PROTECTED] Help mailto:[EMAIL PROTECTED] Archive http://lists.ee.ethz.ch/rrd-developers WebAdmin http://lists.ee.ethz.ch/lsg2.cgi
