[Xymon] Bug report: Crash xymond_rrd

nloyau.ext at orange.com nloyau.ext at orange.com
Thu Jan 31 15:51:28 CET 2013


Hello Xymon team,

         I discovered a bug in xymond_rrd module present in release
4.3.7 and after.
         Some times function update_rrd in do_rrd.c msg pointer (*msg)
can be null. That cause an segfault at strchr call.

Following the coredump analyse

#0 0xb775e424 in __kernel_vsyscall ()
#1 0xb741e781 in raise () from /lib/i686/cmov/libc.so.6
#2 0xb7421bb2 in abort () from /lib/i686/cmov/libc.so.6
#3 0x08070723 in sigsegv_handler (signum=11) at sig.c:57
#4 <signal handler called>
#5 0xb7466a83 in strchr () from /lib/i686/cmov/libc.so.6
#6 0x08050b80 in do_ncv_rrd (hostname=0xb6c847af
"lvmpitg-sql02o.lvm93.cvf",
    testname=0xb6c847c8 "mbs_oracle1", classname=0x807fc0d "",
    pagepaths=0x807fc0d "", msg=0x0, tstamp=1359477166) at rrd/do_ncv.c:54
#7 0x0805a45f in update_rrd (hostname=0xb6c847af
"lvmpitg-sql02o.lvm93.cvf",
    testname=0xb6c847c8 "mbs_oracle1", msg=0x0, tstamp=1359477166,
    sender=0xb6c847a1 "10.193.26.14", ldef=0x9f5d608,
classname=0x807fc0d "",
    pagepaths=0x807fc0d "") at do_rrd.c:712
#8 0x0804a90f in main (argc=3, argv=0xbfadf744) at xymond_rrd.c:369

  
I have modified source code to control msg content.
See the attachement.

I suppose that isn't the best way to procede but that work better now.


    Best regards,

*Nicolas LOYAU*


_________________________________________________________________________________________________________________________

Ce message et ses pieces jointes peuvent contenir des informations confidentielles ou privilegiees et ne doivent donc
pas etre diffuses, exploites ou copies sans autorisation. Si vous avez recu ce message par erreur, veuillez le signaler
a l'expediteur et le detruire ainsi que les pieces jointes. Les messages electroniques etant susceptibles d'alteration,
France Telecom - Orange decline toute responsabilite si ce message a ete altere, deforme ou falsifie. Merci.

This message and its attachments may contain confidential or privileged information that may be protected by law;
they should not be distributed, used or copied without authorisation.
If you have received this email in error, please notify the sender and delete this message and its attachments.
As emails may be altered, France Telecom - Orange is not liable for messages that have been modified, changed or falsified.
Thank you.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.xymon.com/pipermail/xymon/attachments/20130131/c03b23a9/attachment.html>
-------------- next part --------------
--- do_rrd.c	2011-11-30 11:07:02.000000000 +0100
+++ ../../xymon-4.3.7/xymond/do_rrd.c	2013-01-30 15:32:59.000000000 +0100
@@ -676,6 +676,9 @@
 	int res = 0;
 	char *id;
 
+	if (msg ==NULL)
+			return -1;
+
 	MEMDEFINE(rrdvalues);
 
 	if (ldef) id = ldef->xymonrrdname; else id = testname;


More information about the Xymon mailing list