components/net-snmp/patches/040.17812413.logmatch_free.patch
author Mohana Rao Gorai <mohana.gorai@oracle.com>
Mon, 31 Mar 2014 20:27:39 -0700
branchs11u1-sru
changeset 3029 1451ad0361d8
permissions -rw-r--r--
17812413 net-snmp 5.4.1 dumps core when snmpd.conf contains an incorrect logmatch param.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
3029
1451ad0361d8 17812413 net-snmp 5.4.1 dumps core when snmpd.conf contains an incorrect logmatch param.
Mohana Rao Gorai <mohana.gorai@oracle.com>
parents:
diff changeset
     1
# This patch has been submitted upstream. But it has not been accepted yet.
1451ad0361d8 17812413 net-snmp 5.4.1 dumps core when snmpd.conf contains an incorrect logmatch param.
Mohana Rao Gorai <mohana.gorai@oracle.com>
parents:
diff changeset
     2
1451ad0361d8 17812413 net-snmp 5.4.1 dumps core when snmpd.conf contains an incorrect logmatch param.
Mohana Rao Gorai <mohana.gorai@oracle.com>
parents:
diff changeset
     3
--- a/agent/mibgroup/ucd-snmp/logmatch.c	Thu Sep 14 17:48:50 2006
1451ad0361d8 17812413 net-snmp 5.4.1 dumps core when snmpd.conf contains an incorrect logmatch param.
Mohana Rao Gorai <mohana.gorai@oracle.com>
parents:
diff changeset
     4
+++ b/agent/mibgroup/ucd-snmp/logmatch.c	Wed Feb  5 23:56:38 2014
1451ad0361d8 17812413 net-snmp 5.4.1 dumps core when snmpd.conf contains an incorrect logmatch param.
Mohana Rao Gorai <mohana.gorai@oracle.com>
parents:
diff changeset
     5
@@ -118,8 +118,8 @@
1451ad0361d8 17812413 net-snmp 5.4.1 dumps core when snmpd.conf contains an incorrect logmatch param.
Mohana Rao Gorai <mohana.gorai@oracle.com>
parents:
diff changeset
     6
      */
1451ad0361d8 17812413 net-snmp 5.4.1 dumps core when snmpd.conf contains an incorrect logmatch param.
Mohana Rao Gorai <mohana.gorai@oracle.com>
parents:
diff changeset
     7
 
1451ad0361d8 17812413 net-snmp 5.4.1 dumps core when snmpd.conf contains an incorrect logmatch param.
Mohana Rao Gorai <mohana.gorai@oracle.com>
parents:
diff changeset
     8
     for (i = 0; i < logmatchCount; i++) {
1451ad0361d8 17812413 net-snmp 5.4.1 dumps core when snmpd.conf contains an incorrect logmatch param.
Mohana Rao Gorai <mohana.gorai@oracle.com>
parents:
diff changeset
     9
-
1451ad0361d8 17812413 net-snmp 5.4.1 dumps core when snmpd.conf contains an incorrect logmatch param.
Mohana Rao Gorai <mohana.gorai@oracle.com>
parents:
diff changeset
    10
-        regfree(&(logmatchTable[i].regexBuffer));
1451ad0361d8 17812413 net-snmp 5.4.1 dumps core when snmpd.conf contains an incorrect logmatch param.
Mohana Rao Gorai <mohana.gorai@oracle.com>
parents:
diff changeset
    11
+        if (logmatchTable[i].myRegexError == 0)
1451ad0361d8 17812413 net-snmp 5.4.1 dumps core when snmpd.conf contains an incorrect logmatch param.
Mohana Rao Gorai <mohana.gorai@oracle.com>
parents:
diff changeset
    12
+            regfree(&(logmatchTable[i].regexBuffer));
1451ad0361d8 17812413 net-snmp 5.4.1 dumps core when snmpd.conf contains an incorrect logmatch param.
Mohana Rao Gorai <mohana.gorai@oracle.com>
parents:
diff changeset
    13
     }
1451ad0361d8 17812413 net-snmp 5.4.1 dumps core when snmpd.conf contains an incorrect logmatch param.
Mohana Rao Gorai <mohana.gorai@oracle.com>
parents:
diff changeset
    14
     logmatchCount = 0;
1451ad0361d8 17812413 net-snmp 5.4.1 dumps core when snmpd.conf contains an incorrect logmatch param.
Mohana Rao Gorai <mohana.gorai@oracle.com>
parents:
diff changeset
    15
 }
1451ad0361d8 17812413 net-snmp 5.4.1 dumps core when snmpd.conf contains an incorrect logmatch param.
Mohana Rao Gorai <mohana.gorai@oracle.com>
parents:
diff changeset
    16
@@ -212,6 +212,17 @@
1451ad0361d8 17812413 net-snmp 5.4.1 dumps core when snmpd.conf contains an incorrect logmatch param.
Mohana Rao Gorai <mohana.gorai@oracle.com>
parents:
diff changeset
    17
             regcomp(&(logmatchTable[logmatchCount].regexBuffer),
1451ad0361d8 17812413 net-snmp 5.4.1 dumps core when snmpd.conf contains an incorrect logmatch param.
Mohana Rao Gorai <mohana.gorai@oracle.com>
parents:
diff changeset
    18
                     logmatchTable[logmatchCount].regEx,
1451ad0361d8 17812413 net-snmp 5.4.1 dumps core when snmpd.conf contains an incorrect logmatch param.
Mohana Rao Gorai <mohana.gorai@oracle.com>
parents:
diff changeset
    19
                     REG_EXTENDED | REG_NOSUB);
1451ad0361d8 17812413 net-snmp 5.4.1 dumps core when snmpd.conf contains an incorrect logmatch param.
Mohana Rao Gorai <mohana.gorai@oracle.com>
parents:
diff changeset
    20
+		if (logmatchTable[logmatchCount].myRegexError)
1451ad0361d8 17812413 net-snmp 5.4.1 dumps core when snmpd.conf contains an incorrect logmatch param.
Mohana Rao Gorai <mohana.gorai@oracle.com>
parents:
diff changeset
    21
+		{
1451ad0361d8 17812413 net-snmp 5.4.1 dumps core when snmpd.conf contains an incorrect logmatch param.
Mohana Rao Gorai <mohana.gorai@oracle.com>
parents:
diff changeset
    22
+			char regexErrorString[100];
1451ad0361d8 17812413 net-snmp 5.4.1 dumps core when snmpd.conf contains an incorrect logmatch param.
Mohana Rao Gorai <mohana.gorai@oracle.com>
parents:
diff changeset
    23
+			regerror(logmatchTable[logmatchCount].myRegexError,
1451ad0361d8 17812413 net-snmp 5.4.1 dumps core when snmpd.conf contains an incorrect logmatch param.
Mohana Rao Gorai <mohana.gorai@oracle.com>
parents:
diff changeset
    24
+					&(logmatchTable[logmatchCount].regexBuffer),
1451ad0361d8 17812413 net-snmp 5.4.1 dumps core when snmpd.conf contains an incorrect logmatch param.
Mohana Rao Gorai <mohana.gorai@oracle.com>
parents:
diff changeset
    25
+					regexErrorString, 100);
1451ad0361d8 17812413 net-snmp 5.4.1 dumps core when snmpd.conf contains an incorrect logmatch param.
Mohana Rao Gorai <mohana.gorai@oracle.com>
parents:
diff changeset
    26
+			regexErrorString[99] = '\0';
1451ad0361d8 17812413 net-snmp 5.4.1 dumps core when snmpd.conf contains an incorrect logmatch param.
Mohana Rao Gorai <mohana.gorai@oracle.com>
parents:
diff changeset
    27
+			snmp_log(LOG_ERR, "Could not process the logmatch regex - %s," \
1451ad0361d8 17812413 net-snmp 5.4.1 dumps core when snmpd.conf contains an incorrect logmatch param.
Mohana Rao Gorai <mohana.gorai@oracle.com>
parents:
diff changeset
    28
+					"\n since regcomp() failed with - %s\n",
1451ad0361d8 17812413 net-snmp 5.4.1 dumps core when snmpd.conf contains an incorrect logmatch param.
Mohana Rao Gorai <mohana.gorai@oracle.com>
parents:
diff changeset
    29
+					logmatchTable[logmatchCount].regEx, regexErrorString);
1451ad0361d8 17812413 net-snmp 5.4.1 dumps core when snmpd.conf contains an incorrect logmatch param.
Mohana Rao Gorai <mohana.gorai@oracle.com>
parents:
diff changeset
    30
+		}
1451ad0361d8 17812413 net-snmp 5.4.1 dumps core when snmpd.conf contains an incorrect logmatch param.
Mohana Rao Gorai <mohana.gorai@oracle.com>
parents:
diff changeset
    31
 
1451ad0361d8 17812413 net-snmp 5.4.1 dumps core when snmpd.conf contains an incorrect logmatch param.
Mohana Rao Gorai <mohana.gorai@oracle.com>
parents:
diff changeset
    32
         if (logmatchTable[logmatchCount].frequency > 0) {
1451ad0361d8 17812413 net-snmp 5.4.1 dumps core when snmpd.conf contains an incorrect logmatch param.
Mohana Rao Gorai <mohana.gorai@oracle.com>
parents:
diff changeset
    33
             snmp_alarm_register(logmatchTable[logmatchCount].frequency,