author | Tomas Klacko <tomas.klacko@oracle.com> |
Mon, 31 Mar 2014 02:29:31 -0700 | |
changeset 1800 | a9e784d06f31 |
permissions | -rw-r--r-- |
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 |