[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [xymon] RE: [hobbit] Bug in bbcombotest 4.3.0-beta2



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:fduranti (at) q8.it] Sent: Friday, July 24,
>> 2009 10:31 AM
>> To: hobbit (at) hswn.dk
>> 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.
>>