From: <ag...@us...> - 2011-08-25 14:29:40
|
Revision: 1799 http://nagios.svn.sourceforge.net/nagios/?rev=1799&view=rev Author: ageric Date: 2011-08-25 14:29:34 +0000 (Thu, 25 Aug 2011) Log Message: ----------- base/notifications.c: Fix last string not being copied Notification comments and NOTIFICATIONISESCALATED appear to have been left out in the previous round of revert-fixes. Signed-off-by: Andreas Ericsson <ae...@op...> Modified Paths: -------------- nagioscore/trunk/base/notifications.c Modified: nagioscore/trunk/base/notifications.c =================================================================== --- nagioscore/trunk/base/notifications.c 2011-08-25 12:17:08 UTC (rev 1798) +++ nagioscore/trunk/base/notifications.c 2011-08-25 14:29:34 UTC (rev 1799) @@ -155,7 +155,7 @@ mac.x[MACRO_NOTIFICATIONAUTHORALIAS] = strdup(temp_contact->alias); } if(not_data) - mac.x[MACRO_NOTIFICATIONCOMMENT] = not_data; + mac.x[MACRO_NOTIFICATIONCOMMENT] = strdup(not_data); /* NOTE: these macros are deprecated and will likely disappear in Nagios 4.x */ /* if this is an acknowledgement, get author and comment macros */ @@ -227,6 +227,7 @@ my_free(mac.x[MACRO_NOTIFICATIONNUMBER]); my_free(mac.x[MACRO_SERVICENOTIFICATIONNUMBER]); my_free(mac.x[MACRO_SERVICENOTIFICATIONID]); + my_free(mac.x[MACRO_NOTIFICATIONCOMMENT]); my_free(mac.x[MACRO_NOTIFICATIONTYPE]); my_free(mac.x[MACRO_NOTIFICATIONAUTHOR]); my_free(mac.x[MACRO_NOTIFICATIONAUTHORNAME]); @@ -930,7 +931,7 @@ free_notification_list(); /* set the escalation macro (this never gets free()'d) */ - mac->x[MACRO_NOTIFICATIONISESCALATED] = escalate_notification ? "1" : "0"; + mac->x[MACRO_NOTIFICATIONISESCALATED] = strdup(escalate_notification ? "1" : "0"); if(options & NOTIFICATION_OPTION_BROADCAST) log_debug_info(DEBUGL_NOTIFICATIONS, 1, "This notification will be BROADCAST to all (escalated and normal) contacts...\n"); @@ -1100,7 +1101,7 @@ mac.x[MACRO_NOTIFICATIONAUTHORALIAS] = strdup(temp_contact->alias); } if(not_data) - mac.x[MACRO_NOTIFICATIONCOMMENT] = not_data; + mac.x[MACRO_NOTIFICATIONCOMMENT] = strdup(not_data); /* NOTE: these macros are deprecated and will likely disappear in Nagios 4.x */ /* if this is an acknowledgement, get author and comment macros */ @@ -1172,6 +1173,7 @@ /* clear out all macros we created */ my_free(mac.x[MACRO_HOSTNOTIFICATIONID]); my_free(mac.x[MACRO_NOTIFICATIONNUMBER]); + my_free(mac.x[MACRO_NOTIFICATIONCOMMENT]); my_free(mac.x[MACRO_HOSTNOTIFICATIONNUMBER]); my_free(mac.x[MACRO_NOTIFICATIONTYPE]); my_free(mac.x[MACRO_NOTIFICATIONAUTHOR]); @@ -1832,7 +1834,7 @@ free_notification_list(); /* set the escalation macro (this never gets free()'d) */ - mac->x[MACRO_NOTIFICATIONISESCALATED] = escalate_notification ? "1" : "0"; + mac->x[MACRO_NOTIFICATIONISESCALATED] = strdup(escalate_notification ? "1" : "0"); if(options & NOTIFICATION_OPTION_BROADCAST) log_debug_info(DEBUGL_NOTIFICATIONS, 1, "This notification will be BROADCAST to all (escalated and normal) contacts...\n"); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |