BUG in history.cgi (+ fix)
Franky Van Liedekerke
liedekef at telenet.be
Thu Jun 19 13:46:04 CEST 2008
Hi all,
I had some problems with history.cgi where it consistently coredumped on me.
After some searching, it seems that history.c assumes that each line in
nagios.log has a certain maximum lenght (MAX_INPUT_BUFFER) but some plugins
write more info away there (like the check_oracle_health plugin in my case).
But the issue is: when such a long line is found, history.c doesn't chop it
off after MAX_INPUT_BUFFER characters and as such coredumps ...
Solution: add the line
input[MAX_INPUT_BUFFER]='\x0';
at around line 551 in cgi/history.c (before the "strip(input);" line), so
the code becomes:
printf("<P><DIV CLASS='logEntries'>\n");
while(1){
free(input);
if(use_lifo==TRUE){
if((input=pop_lifo())==NULL)
break;
}
else{
if((input=mmap_fgets(thefile))==NULL)
break;
}
input[MAX_INPUT_BUFFER]='\x0';
strip(input);
This solves my problem for now, but I don't know if it is the correct
solution of course ...
Franky
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://www.monitoring-lists.org/archive/developers/attachments/20080619/7adcff99/attachment.html>
-------------- next part --------------
-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php
-------------- next part --------------
_______________________________________________
Nagios-devel mailing list
Nagios-devel at lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nagios-devel
More information about the Developers
mailing list