On Sat, Feb 07, 2015 at 06:05:56PM +0100, Ben Noordhuis wrote:
> On Sat, Feb 7, 2015 at 12:55 AM, Dmitry V. Levin <l...@altlinux.org> wrote:
> > On Thu, Feb 05, 2015 at 07:28:45PM +0100, Ben Noordhuis wrote:
> >> +#ifdef IP_ADD_MEMBERSHIP
> >> +static void
> >> +print_mreq(struct tcb *tcp, long addr, int len)
> >> +{
> >> +     struct ip_mreq mreq;
> >> +     if (len == sizeof(mreq) && umove(tcp, addr, &mreq) == 0) {
> >> +             tprints("{imr_multiaddr=inet_addr(");
> >> +             print_quoted_string(inet_ntoa(mreq.imr_multiaddr),
> >> +                                 16, QUOTE_0_TERMINATED);
> >> +             tprints("), imr_interface=inet_addr(");
> >> +             print_quoted_string(inet_ntoa(mreq.imr_interface),
> >> +                                 16, QUOTE_0_TERMINATED);
> >> +             tprints(")}");
> >> +     }
> >> +     else {
> >> +             printstr(tcp, addr, len);
> >> +     }
> >> +}
> >
> > Is there any use to print the address with printstr if length is not
> > sizeof(ip_mreq) or umove has failed?  Other sockopt parsers in such
> > situations just print the address in hex.
> 
> Printing the raw data helps troubleshooting more than printing a
> memory address does, IMO.  printstr() is also what print_getsockopt()
> and print_setsockopt() seem to fall back to.  Let me know what you
> think is preferable.

Agreed, lets fall back to printstr() in case of length mismatch.

> I agree that there is no point calling printstr() when umove() fails,
> I'll update that.

-- 
ldv

Attachment: pgpWPxBaSO6mG.pgp
Description: PGP signature

------------------------------------------------------------------------------
Dive into the World of Parallel Programming. The Go Parallel Website,
sponsored by Intel and developed in partnership with Slashdot Media, is your
hub for all things parallel software development, from weekly thought
leadership blogs to news, videos, case studies, tutorials and more. Take a
look and join the conversation now. http://goparallel.sourceforge.net/
_______________________________________________
Strace-devel mailing list
Strace-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/strace-devel

Reply via email to