components/net-snmp/patches/040.17812413.logmatch_free.patch
author Mike Sullivan <Mike.Sullivan@Oracle.COM>
Mon, 23 Mar 2015 20:28:41 -0700
changeset 4011 5a309c9572e8
parent 1776 614fab3c797e
permissions -rw-r--r--
Close of build 71.

# This patch has been submitted upstream. But it has not been accepted yet.

--- a/agent/mibgroup/ucd-snmp/logmatch.c	Thu Sep 14 17:48:50 2006
+++ b/agent/mibgroup/ucd-snmp/logmatch.c	Wed Feb  5 23:56:38 2014
@@ -118,8 +118,8 @@
      */
 
     for (i = 0; i < logmatchCount; i++) {
-
-        regfree(&(logmatchTable[i].regexBuffer));
+        if (logmatchTable[i].myRegexError == 0)
+            regfree(&(logmatchTable[i].regexBuffer));
     }
     logmatchCount = 0;
 }
@@ -212,6 +212,17 @@
             regcomp(&(logmatchTable[logmatchCount].regexBuffer),
                     logmatchTable[logmatchCount].regEx,
                     REG_EXTENDED | REG_NOSUB);
+		if (logmatchTable[logmatchCount].myRegexError)
+		{
+			char regexErrorString[100];
+			regerror(logmatchTable[logmatchCount].myRegexError,
+					&(logmatchTable[logmatchCount].regexBuffer),
+					regexErrorString, 100);
+			regexErrorString[99] = '\0';
+			snmp_log(LOG_ERR, "Could not process the logmatch regex - %s," \
+					"\n since regcomp() failed with - %s\n",
+					logmatchTable[logmatchCount].regEx, regexErrorString);
+		}
 
         if (logmatchTable[logmatchCount].frequency > 0) {
             snmp_alarm_register(logmatchTable[logmatchCount].frequency,