RFC3416 section 4.2.1 (and others) tells us that if an error occurs the
varbindlist in the response must be identical to the original request.

There might be other edge-cases here, but let's at least make sure that
the OIDs haven't been tampered with.

OK?

martijn@

diff --git a/application.c b/application.c
index 53e793d..d98918f 100644
--- a/application.c
+++ b/application.c
@@ -1186,6 +1186,9 @@ appl_varbind_valid(struct appl_varbind *varbind,
        int cmp;
        int eomv = 0;
 
+       if (null)
+               next = 0;
+
        if (varbind->av_value == NULL) {
                if (!null) {
                        *errstr = "missing value";

Reply via email to