]> The Tcpdump Group git mirrors - tcpdump/commitdiff
PPTP: Remove 10 redundant ND_TCHECK_SIZE calls
authorFrancois-Xavier Le Bail <[email protected]>
Sat, 31 Oct 2020 21:13:54 +0000 (22:13 +0100)
committerFrancois-Xavier Le Bail <[email protected]>
Sat, 31 Oct 2020 21:46:16 +0000 (22:46 +0100)
They are redundant because we use now nd_printzp() to print the
strings, to have bounds check and avoid printing non-ASCII characters.

Simplify some pointer expressions.

Remove the remaining trunc labels.

print-pptp.c

index 548a295ec9edb17077f76c62f3724bbcdbda779b..038ba9b35a015389cd500b0ac299eca0695dcb99 100644 (file)
@@ -391,7 +391,9 @@ static void
 pptp_hostname_print(netdissect_options *ndo,
                     const u_char *hostname)
 {
-       ND_PRINT(" HOSTNAME(%.64s)", hostname);
+       ND_PRINT(" HOSTNAME(");
+       nd_printzp(ndo, hostname, 64, ndo->ndo_snapend);
+       ND_PRINT(")");
 }
 
 static void
@@ -511,14 +513,18 @@ static void
 pptp_subaddr_print(netdissect_options *ndo,
                    const u_char *subaddr)
 {
-       ND_PRINT(" SUB_ADDR(%.64s)", subaddr);
+       ND_PRINT(" SUB_ADDR(");
+       nd_printzp(ndo, subaddr, 64, ndo->ndo_snapend);
+       ND_PRINT(")");
 }
 
 static void
 pptp_vendor_print(netdissect_options *ndo,
                   const u_char *vendor)
 {
-       ND_PRINT(" VENDOR(%.64s)", vendor);
+       ND_PRINT(" VENDOR(");
+       nd_printzp(ndo, vendor, 64, ndo->ndo_snapend);
+       ND_PRINT(")");
 }
 
 /************************************/
@@ -536,15 +542,8 @@ pptp_sccrq_print(netdissect_options *ndo,
        pptp_bearer_cap_print(ndo, ptr->bearer_cap);
        pptp_max_channel_print(ndo, ptr->max_channel);
        pptp_firm_rev_print(ndo, ptr->firm_rev);
-       ND_TCHECK_SIZE(&ptr->hostname);
-       pptp_hostname_print(ndo, &ptr->hostname[0]);
-       ND_TCHECK_SIZE(&ptr->vendor);
-       pptp_vendor_print(ndo, &ptr->vendor[0]);
-
-       return;
-
-trunc:
-       nd_print_trunc(ndo);
+       pptp_hostname_print(ndo, ptr->hostname);
+       pptp_vendor_print(ndo, ptr->vendor);
 }
 
 static void
@@ -560,15 +559,8 @@ pptp_sccrp_print(netdissect_options *ndo,
        pptp_bearer_cap_print(ndo, ptr->bearer_cap);
        pptp_max_channel_print(ndo, ptr->max_channel);
        pptp_firm_rev_print(ndo, ptr->firm_rev);
-       ND_TCHECK_SIZE(&ptr->hostname);
-       pptp_hostname_print(ndo, &ptr->hostname[0]);
-       ND_TCHECK_SIZE(&ptr->vendor);
-       pptp_vendor_print(ndo, &ptr->vendor[0]);
-
-       return;
-
-trunc:
-       nd_print_trunc(ndo);
+       pptp_hostname_print(ndo, ptr->hostname);
+       pptp_vendor_print(ndo, ptr->vendor);
 }
 
 static void
@@ -647,15 +639,12 @@ pptp_ocrq_print(netdissect_options *ndo,
        pptp_pkt_proc_delay_print(ndo, ptr->pkt_proc_delay);
        ND_PRINT(" PHONE_NO_LEN(%u)", GET_BE_U_2(ptr->phone_no_len));
        PRINT_RESERVED_IF_NOT_ZERO_2(ptr->reserved1);
-       ND_TCHECK_SIZE(&ptr->phone_no);
-       ND_PRINT(" PHONE_NO(%.64s)", ptr->phone_no);
-       ND_TCHECK_SIZE(&ptr->subaddr);
-       pptp_subaddr_print(ndo, &ptr->subaddr[0]);
-
-       return;
-
-trunc:
-       nd_print_trunc(ndo);
+       ND_PRINT(" PHONE_NO(");
+       nd_printzp(ndo, ptr->phone_no,
+                  ND_MIN(64, GET_BE_U_2(ptr->phone_no_len)),
+                  ndo->ndo_snapend);
+       ND_PRINT(")");
+       pptp_subaddr_print(ndo, ptr->subaddr);
 }
 
 static void
@@ -687,17 +676,17 @@ pptp_icrq_print(netdissect_options *ndo,
        pptp_phy_chan_id_print(ndo, ptr->phy_chan_id);
        ND_PRINT(" DIALED_NO_LEN(%u)", GET_BE_U_2(ptr->dialed_no_len));
        ND_PRINT(" DIALING_NO_LEN(%u)", GET_BE_U_2(ptr->dialing_no_len));
-       ND_TCHECK_SIZE(&ptr->dialed_no);
-       ND_PRINT(" DIALED_NO(%.64s)", ptr->dialed_no);
-       ND_TCHECK_SIZE(&ptr->dialing_no);
-       ND_PRINT(" DIALING_NO(%.64s)", ptr->dialing_no);
-       ND_TCHECK_SIZE(&ptr->subaddr);
-       pptp_subaddr_print(ndo, &ptr->subaddr[0]);
-
-       return;
-
-trunc:
-       nd_print_trunc(ndo);
+       ND_PRINT(" DIALED_NO(");
+       nd_printzp(ndo, ptr->dialed_no,
+                  ND_MIN(64, GET_BE_U_2(ptr->dialed_no_len)),
+                  ndo->ndo_snapend);
+       ND_PRINT(")");
+       ND_PRINT(" DIALING_NO(");
+       nd_printzp(ndo, ptr->dialing_no,
+                  ND_MIN(64, GET_BE_U_2(ptr->dialing_no_len)),
+                  ndo->ndo_snapend);
+       ND_PRINT(")");
+       pptp_subaddr_print(ndo, ptr->subaddr);
 }
 
 static void
@@ -750,13 +739,9 @@ pptp_cdn_print(netdissect_options *ndo,
        pptp_err_code_print(ndo, ptr->err_code);
        pptp_cause_code_print(ndo, ptr->cause_code);
        PRINT_RESERVED_IF_NOT_ZERO_2(ptr->reserved1);
-       ND_TCHECK_SIZE(&ptr->call_stats);
-       ND_PRINT(" CALL_STATS(%.128s)", ptr->call_stats);
-
-       return;
-
-trunc:
-       nd_print_trunc(ndo);
+       ND_PRINT(" CALL_STATS(");
+       nd_printzp(ndo, ptr->call_stats, 128, ndo->ndo_snapend);
+       ND_PRINT(")");
 }
 
 static void