diff options
| author | Boris Lytochkin <lytboris@php.net> | 2013-03-17 20:00:37 +0400 |
|---|---|---|
| committer | Boris Lytochkin <lytboris@php.net> | 2013-03-17 20:00:37 +0400 |
| commit | b32405053f5a32d8c4d83f7566f5b414afd3aedb (patch) | |
| tree | ac894c31cad209cdc7561586441d938f1e920657 /ext/snmp | |
| parent | 5de1b08482cdf2385e263f68ce9ea4001f724ffd (diff) | |
| download | php-git-b32405053f5a32d8c4d83f7566f5b414afd3aedb.tar.gz | |
Fix bug #61981
Diffstat (limited to 'ext/snmp')
| -rw-r--r-- | ext/snmp/snmp.c | 4 | ||||
| -rw-r--r-- | ext/snmp/tests/snmp-object.phpt | 20 |
2 files changed, 22 insertions, 2 deletions
diff --git a/ext/snmp/snmp.c b/ext/snmp/snmp.c index a3bd44c27b..0ae140f7d1 100644 --- a/ext/snmp/snmp.c +++ b/ext/snmp/snmp.c @@ -832,9 +832,9 @@ retry: } } else if (st & SNMP_USE_SUFFIX_AS_KEYS && st & SNMP_CMD_WALK) { snprint_objid(buf2, sizeof(buf2), vars->name, vars->name_length); - if (objid_query->vars[0].name_length <= vars->name_length && snmp_oid_compare(objid_query->vars[0].name, objid_query->vars[0].name_length, vars->name, objid_query->vars[0].name_length) == 0) { + if (rootlen <= vars->name_length && snmp_oid_compare(root, rootlen, vars->name, rootlen) == 0) { buf2[0] = '\0'; - count = objid_query->vars[0].name_length; + count = rootlen; while(count < vars->name_length){ sprintf(buf, "%lu.", vars->name[count]); strcat(buf2, buf); diff --git a/ext/snmp/tests/snmp-object.phpt b/ext/snmp/tests/snmp-object.phpt index 06b6492bd7..522d417aff 100644 --- a/ext/snmp/tests/snmp-object.phpt +++ b/ext/snmp/tests/snmp-object.phpt @@ -83,6 +83,19 @@ var_dump(gettype($z)); var_dump(count($z)); var_dump(key($z)); var_dump(array_shift($z)); +var_dump(key($z)); +array_shift($z); +var_dump(key($z)); +array_shift($z); +var_dump(key($z)); +array_shift($z); +var_dump(key($z)); +array_shift($z); +var_dump(key($z)); +array_shift($z); +var_dump(key($z)); +array_shift($z); +var_dump(key($z)); var_dump($session->close()); echo "SNMPv3 (default security settings)\n"; @@ -194,6 +207,13 @@ string(5) "array" int(%d) string(3) "1.0" string(%d) "%s" +string(3) "2.0" +string(3) "3.0" +string(3) "4.0" +string(3) "5.0" +string(3) "6.0" +string(3) "7.0" +string(3) "8.0" bool(true) SNMPv3 (default security settings) string(%d) "%S" |
