]> The Tcpdump Group git mirrors - tcpdump/blobdiff - print-wb.c
change make check to work with POSIX shell
[tcpdump] / print-wb.c
index 88857d9618d742d7b9bfe1a979fd19d0d65449e0..f90170b80e45b45244082888c83c8451744b99f9 100644 (file)
@@ -203,7 +203,7 @@ wb_id(netdissect_options *ndo,
        len -= sizeof(*io) * nid;
        io = (const struct id_off *)(id + 1);
        cp = (const char *)(io + nid);
-       if (ND_TTEST2(cp, len)) {
+       if (ND_TTEST2(*cp, len)) {
                ND_PRINT((ndo, "\""));
                fn_print(ndo, (const u_char *)cp, (const u_char *)cp + len);
                ND_PRINT((ndo, "\""));
@@ -263,9 +263,8 @@ wb_prep(netdissect_options *ndo,
        const u_char *ep = ndo->ndo_snapend;
 
        ND_PRINT((ndo, " wb-prep:"));
-       if (len < sizeof(*prep)) {
+       if (len < sizeof(*prep) || !ND_TTEST(*prep))
                return (-1);
-       }
        n = EXTRACT_32BITS(&prep->pp_n);
        ps = (const struct pgstate *)(prep + 1);
        while (--n >= 0 && ND_TTEST(*ps)) {
@@ -419,31 +418,37 @@ wb_print(netdissect_options *ndo,
        case PT_ID:
                if (wb_id(ndo, (const struct pkt_id *)(ph + 1), len) >= 0)
                        return;
+               ND_PRINT((ndo, "%s", tstr));
                break;
 
        case PT_RREQ:
                if (wb_rreq(ndo, (const struct pkt_rreq *)(ph + 1), len) >= 0)
                        return;
+               ND_PRINT((ndo, "%s", tstr));
                break;
 
        case PT_RREP:
                if (wb_rrep(ndo, (const struct pkt_rrep *)(ph + 1), len) >= 0)
                        return;
+               ND_PRINT((ndo, "%s", tstr));
                break;
 
        case PT_DRAWOP:
                if (wb_drawop(ndo, (const struct pkt_dop *)(ph + 1), len) >= 0)
                        return;
+               ND_PRINT((ndo, "%s", tstr));
                break;
 
        case PT_PREQ:
                if (wb_preq(ndo, (const struct pkt_preq *)(ph + 1), len) >= 0)
                        return;
+               ND_PRINT((ndo, "%s", tstr));
                break;
 
        case PT_PREP:
                if (wb_prep(ndo, (const struct pkt_prep *)(ph + 1), len) >= 0)
                        return;
+               ND_PRINT((ndo, "%s", tstr));
                break;
 
        default: