Xymon Mailing List Archive search

Bug in bbcombotest 4.3.0-beta2

list Henrik Størner
Mon, 31 Jan 2011 22:40:33 +0000 (UTC)
Message-Id: <ii7dp1$30j$user-e356fad9864f@xymon.invalid>

On Mon, 31 Jan 2011 13:28:45 -0800, Cleaver, Japheth wrote:
I noticed the logic below seems to still be present in 4.3.0-RC1 (line
211 in xymond/combostatus.c). 
You didn't look close enough. The code was changed from 
    hobbitdresult = sendmessage("hobbitdboard ....
    if ((hobbitdresult != BB_OK) || (board == NULL)) {
to

       xymondresult = sendmessage("xymondboard ....
       board = getsendreturnstr(sres, 1);
       if ((xymondresult != XYMONSEND_OK) || (board == NULL)) {

Notice the new assignment of "board" to something sensible before
it is tested.


Regards,
Henrik
-----Original Message-----
From: Francesco Duranti [mailto:user-7104dcecbfef@xymon.invalid] Sent: Friday, July 24,
2009 10:31 AM
To: user-ae9b8668bcde@xymon.invalid
Subject: [hobbit] Bug in bbcombotest 4.3.0-beta2

Hi all,
I don't know if anyone use it or is interested but there's a bug in
4.3.0-beta2 (and 4.4.0 too) related to the bbcombotest.

The bug is at line 216 in the if just after the sendmessage...

This is the code interested... the problem is that in 4.3.0 variable
board is not passed to sendmessage anymore (as in 4.2.3) so the if for
the error is always true and the test are not checked.

                hobbitdresult = sendmessage("hobbitdboard
                fields=hostname,testname,color", NULL,
BBTALK_TIMEOUT, sres);
                if ((hobbitdresult != BB_OK) || (board == NULL)) {
                        board = "";
                        *errptr += sprintf(*errptr, "Could not access
                        hobbitd board, error %d\n",
hobbitdresult);
                        return COL_CLEAR;
                }

Changing the "if" to "if (hobbitdresult != BB_OK) {" should solve the
problem.