tcpdump mailing list archives
Re: [tcpdump] Truncated strings
From: Francois-Xavier Le Bail <devel.fx.lebail () orange fr>
Date: Sat, 8 Sep 2018 11:30:19 +0200
On 21/08/2018 17:21, Denis Ovsienko wrote:
(moving this to tcpdump-workers)
---- On Tue, 08 May 2018 14:41:13 +0100 Francois-Xavier Le Bail <devel.fx.lebail () orange fr> wrote ----
> e.g.:
> proto1_print(...)
> {
> ndo->ndo_protocol = "proto1";
> ...
> proto2_print(...);
> ...
> }
>
> proto2_print(...)
> {
> ndo->ndo_protocol = "proto2";
> ...
> }
>
> If proto2_print, a "final protocol" (don't call another function with ndo_protocol assignment), need
> to print truncated string with/without longjmp process: no problem.
>
> If no truncated case occurs in proto2_print, after return, the proto1_print function take the
> control and if truncated case occurs in proto1_print it will print "[|proto2]".
>
> Thus after all calls of function with ndo_protocol assignment, we will need a ndo_protocol re-assign
> like:
>
> proto1_print(...)
> {
> ndo->ndo_protocol = "proto1";
> ...
> proto2_print(...);
> ndo->ndo_protocol = "proto1";
> ...
> }
>
> It can bring errors (forgetting...).
>
> Could we do things differently ?
With things done this way it looks like this issue could happen, although it would result in incorrect labeling, not
incorrect behaviour.
A possible solution could be some stack structure and a macro to call the next function, which macro would take care
to update the stack before and after the function call. But to me such a solution looks more complicated than the
problem, I would rather proof-read the source code once and leave it to work.
Agreed. Some ndo_protocol reassignment already done in 6daf3a54 and d8802934. Perhaps more to do. I will have a look. _______________________________________________ tcpdump-workers mailing list tcpdump-workers () lists tcpdump org https://lists.sandelman.ca/mailman/listinfo/tcpdump-workers
Current thread:
- Re: [tcpdump] Truncated strings Denis Ovsienko (Aug 21)
- Re: [tcpdump] Truncated strings Francois-Xavier Le Bail (Sep 08)
