All pastes #224648 Raw Edit

Anonymous

public text v1 · immutable
#224648 ·published 2006-10-27 14:31 UTC
rendered paste body
Index: netsnmp/client_intf.c
===================================================================
RCS file: /cvsroot/net-snmp/net-snmp/python/netsnmp/client_intf.c,v
retrieving revision 1.9
diff -u -p -r1.9 client_intf.c
--- netsnmp/client_intf.c       29 Sep 2006 20:28:12 -0000      1.9
+++ netsnmp/client_intf.c       27 Oct 2006 14:31:25 -0000
@@ -1934,13 +1934,23 @@ netsnmp_walk(PyObject *self, PyObject *a
       if (!response || !response->variables ||
           (response->variables->name_length < oid_arr_len) ||
           (memcmp(oid_arr, response->variables->name,
-                  oid_arr_len * sizeof(oid)))) {
+                  oid_arr_len * sizeof(oid))) ||
+          status != STAT_SUCCESS ||
+          response->errstat != SNMP_ERR_NOERROR) {
           notdone = 0;
       } else {
         for(vars = (response ? response->variables : NULL), varlist_ind = 0;
        vars && (varlist_ind <= varlist_len);
        vars = vars->next_variable, varlist_ind++) {

+          if ((vars->type == SNMP_ENDOFMIBVIEW) ||
+              (vars->type == SNMP_NOSUCHOBJECT) ||
+              (vars->type == SNMP_NOSUCHINSTANCE)) {
+              fprintf(stderr, "here\n");
+              notdone = 0;
+              break;
+          }
+
           varbind = py_netsnmp_construct_varbind();

           if (PyObject_HasAttrString(varbind, "tag")) {