components/net-snmp/patches/042.17758422.patch
author Tomas Klacko <tomas.klacko@oracle.com>
Mon, 31 Mar 2014 02:29:31 -0700
changeset 1800 a9e784d06f31
permissions -rw-r--r--
17758422 50 or more exec options in snmpd.conf results in errors
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1800
a9e784d06f31 17758422 50 or more exec options in snmpd.conf results in errors
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
     1
This has been fixed in upstream version 5.7.2 (see README).
a9e784d06f31 17758422 50 or more exec options in snmpd.conf results in errors
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
     2
http://sourceforge.net/p/net-snmp/code/ci/4d38895f459a1df24f68c4a60e4caf6a778d8c1f
a9e784d06f31 17758422 50 or more exec options in snmpd.conf results in errors
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
     3
a9e784d06f31 17758422 50 or more exec options in snmpd.conf results in errors
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
     4
--- a/agent/mibgroup/agent/extend.c
a9e784d06f31 17758422 50 or more exec options in snmpd.conf results in errors
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
     5
+++ b/agent/mibgroup/agent/extend.c
a9e784d06f31 17758422 50 or more exec options in snmpd.conf results in errors
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
     6
@@ -473,10 +473,21 @@ extend_parse_config(const char *token, char *cptr)
a9e784d06f31 17758422 50 or more exec options in snmpd.conf results in errors
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
     7
             
a9e784d06f31 17758422 50 or more exec options in snmpd.conf results in errors
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
     8
     } else if (!strcmp( token, "sh"   ) ||
a9e784d06f31 17758422 50 or more exec options in snmpd.conf results in errors
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
     9
                !strcmp( token, "exec" )) {
a9e784d06f31 17758422 50 or more exec options in snmpd.conf results in errors
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
    10
-        if ( num_compatability_entries == max_compatability_entries )
a9e784d06f31 17758422 50 or more exec options in snmpd.conf results in errors
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
    11
+        if ( num_compatability_entries == max_compatability_entries ) {
a9e784d06f31 17758422 50 or more exec options in snmpd.conf results in errors
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
    12
             /* XXX - should really use dynamic allocation */
a9e784d06f31 17758422 50 or more exec options in snmpd.conf results in errors
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
    13
-            config_perror("No further UCD-compatible entries" );
a9e784d06f31 17758422 50 or more exec options in snmpd.conf results in errors
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
    14
-        else
a9e784d06f31 17758422 50 or more exec options in snmpd.conf results in errors
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
    15
+            netsnmp_old_extend *new_compatability_entries;
a9e784d06f31 17758422 50 or more exec options in snmpd.conf results in errors
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
    16
+            new_compatability_entries = realloc(compatability_entries,
a9e784d06f31 17758422 50 or more exec options in snmpd.conf results in errors
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
    17
+                             max_compatability_entries*2*sizeof(netsnmp_old_extend));
a9e784d06f31 17758422 50 or more exec options in snmpd.conf results in errors
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
    18
+            if (!new_compatability_entries)
a9e784d06f31 17758422 50 or more exec options in snmpd.conf results in errors
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
    19
+                config_perror("No further UCD-compatible entries" );
a9e784d06f31 17758422 50 or more exec options in snmpd.conf results in errors
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
    20
+            else {
a9e784d06f31 17758422 50 or more exec options in snmpd.conf results in errors
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
    21
+                memset(new_compatability_entries+num_compatability_entries, 0,
a9e784d06f31 17758422 50 or more exec options in snmpd.conf results in errors
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
    22
+                        sizeof(netsnmp_old_extend)*max_compatability_entries);
a9e784d06f31 17758422 50 or more exec options in snmpd.conf results in errors
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
    23
+                max_compatability_entries *= 2;
a9e784d06f31 17758422 50 or more exec options in snmpd.conf results in errors
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
    24
+                compatability_entries = new_compatability_entries;
a9e784d06f31 17758422 50 or more exec options in snmpd.conf results in errors
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
    25
+            }
a9e784d06f31 17758422 50 or more exec options in snmpd.conf results in errors
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
    26
+        }
a9e784d06f31 17758422 50 or more exec options in snmpd.conf results in errors
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
    27
+        if (num_compatability_entries != max_compatability_entries)
a9e784d06f31 17758422 50 or more exec options in snmpd.conf results in errors
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
    28
             compatability_entries[
a9e784d06f31 17758422 50 or more exec options in snmpd.conf results in errors
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
    29
                 num_compatability_entries++ ].exec_entry = extension;
a9e784d06f31 17758422 50 or more exec options in snmpd.conf results in errors
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
    30
     }
a9e784d06f31 17758422 50 or more exec options in snmpd.conf results in errors
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
    31