From: Andreas E. <ag...@us...> - 2010-10-29 15:35:25
|
Update of /cvsroot/nagios/nagios/base In directory sfp-cvsdas-3.v30.ch3.sourceforge.com:/tmp/cvs-serv551/base Modified Files: utils.c Log Message: Don't free() "constant" macros in free_memory() It's unnecessary, since they are free()'d when they're assigned to (if set). If we free() them here, we lose them forever when we receive a SIGHUP signal or a PROGRAM_RESTART event from the command fifo. Signed-off-by: Andreas Ericsson <ae...@op...> Index: utils.c =================================================================== RCS file: /cvsroot/nagios/nagios/base/utils.c,v retrieving revision 1.258 retrieving revision 1.259 diff -C2 -d -r1.258 -r1.259 *** utils.c 28 Oct 2010 12:31:40 -0000 1.258 --- utils.c 29 Oct 2010 15:35:17 -0000 1.259 *************** *** 4203,4215 **** my_free(ochp_command); ! /* free memory associated with macros */ ! for(x=0;x<MAX_COMMAND_ARGUMENTS;x++) ! my_free(mac->argv[x]); ! ! for(x=0;x<MAX_USER_MACROS;x++) ! my_free(macro_user[x]); ! ! for(x=0;x<MACRO_X_COUNT;x++) ! my_free(mac->x[x]); free_macrox_names(); --- 4203,4215 ---- my_free(ochp_command); ! /* ! * free memory associated with macros. ! * It's ok to only free the volatile ones, as the non-volatile ! * are always free()'d before assignment if they're set. ! * Doing a full free of them here means we'll wipe the constant ! * macros when we get a reload or restart request through the ! * command pipe, or when we receive a SIGHUP. ! */ ! clear_volatile_macros(mac); free_macrox_names(); |