# HG changeset patch # User Mohana Rao Gorai # Date 1395364329 25200 # Node ID 614fab3c797eece26f8bd48b5d707547992419a5 # Parent 221ebe7e8513975635a7409d06f5cf5cd22c578c 17812413 net-snmp 5.4.1 dumps core when snmpd.conf contains an incorrect logmatch param. diff -r 221ebe7e8513 -r 614fab3c797e components/net-snmp/patches/040.17812413.logmatch_free.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/components/net-snmp/patches/040.17812413.logmatch_free.patch Thu Mar 20 18:12:09 2014 -0700 @@ -0,0 +1,33 @@ +# 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,