components/net-snmp/patches/040.17812413.logmatch_free.patch
author Phi Tran <Phi.N.Tran@Oracle.COM>
Thu, 05 Jun 2014 14:00:37 -0700
changeset 1935 0060df5060fa
parent 1776 614fab3c797e
permissions -rw-r--r--
18262073 cdrtools shouldn't really build with -fast

# 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,