Hi JC,
On Thu, Dec 10, 2015 at 08:23:23AM -0800, J.C. Cleaver wrote:
On Thu, December 10, 2015 5:59 am, Axel Beckert wrote:
On Thu, Dec 10, 2015 at 01:45:49PM +0100, Axel Beckert wrote:
I don't have a proper backtrace (yet), but I had look at the source
code and I'm quite confident that the issue is inside the function
print_alert_recipients() starting at lib/loadalerts.c, line 1124.
Here's the according backtrace. Doesn't look too helpful to me,
though:
[...]
#1 0x0000000000403640 in print_host (testcount=18, testnames=0x167dcc0,
host=0x166b070) at confreport.c:310
[...]
Well, that's different from loadalerts.c,
Indeed. My first guess was solely based on where the interrupted HTML
output comes from.
but there does seem to be a problem there.
Yeah, I figured in the meanwhile that visdata likely was NULL to cause
that crash. I was just not sure which places would all need changes to
fix that.
Can you see if this patch helps?
Will check. Thanks for the patch!
Index: web/confreport.c
===================================================================
--- web/confreport.c (revision 7835)
+++ web/confreport.c (working copy)
@@ -288,9 +288,10 @@
}
else if (is_net_test(itm)) {
colname = strdup(itm);
+ visdata = strdup("");
}
• + if (!visdata) visdata = strdup("");
Those two additionans look a little bit redundant, but that shouldn't
cause any harm. (I'd say the first addition shouldn't be necessary
if the second one is present.)
- newitem->visualdata = (char *)realloc(newitem->visualdata, strlen(newitem->visualdata) + strlen(visdata) + 5);
+ newitem->visualdata = newitem->visualdata ?
+ (char *)realloc(newitem->visualdata, strlen(newitem->visualdata) + strlen(visdata) + 5) :
+ (char *)malloc(strlen(visdata) + 5);
That's the place where I thought, it might need changes, too, but I
had no ideas which exactly.
Kind regards, Axel Beckert
--
Axel Beckert <user-96d9963fe797@xymon.invalid> support: +41 44 633 26 68
IT Services Group, HPT H 6 voice: +41 44 633 41 89
Departement of Physics, ETH Zurich
CH-8093 Zurich, Switzerland http://nic.phys.ethz.ch/