On Wed, Jun 14, 2017 at 03:01:11PM +0800, JingPiao Chen wrote:
> 2017-06-14 12:35 GMT+08:00 Dmitry V. Levin <l...@altlinux.org>:
> > On Wed, Jun 14, 2017 at 11:53:02AM +0800, JingPiao Chen wrote:
> > > On Wed, Jun 14, 2017 at 05:06:06AM +0300, Dmitry V. Levin wrote:
> > > > On Wed, Jun 14, 2017 at 03:19:46AM +0300, Dmitry V. Levin wrote:
[...]
> > > > > I see.  Would it be better to print the address instead of the
> string
> > > > > in case of umove failure, e.g.
> > > > >
> > > > > if (len < sizeof(msg))
> > > > > return false;
> > > > >
> > > > > if (umove_or_printaddr(tcp, addr, &msg))
> > > > > return true;
> > > >
> > > > OK, I've changed this parser a bit and pushed it again to ldv/netlink
> > > > branch, please have a look.
> > > Ok, thank you.
> >
> > ... and again, amending the last commit to simplify subsequent
> > netlink_sock_diag test changes.
> 
> I have some questions, why do not use:
> if (len < sizeof(msg))
> return false;
> 
> if (umove_or_printaddr(tcp, addr, &msg))
> return true;
> 
> Can we remove offset?

These two code snippets are almost equivalent:

        const size_t offset = sizeof(msg.udiag_family);
        if (!umoven_or_printaddr(tcp, addr + offset,
                                 sizeof(msg) - offset,
                                 (void *) &msg + offset)) {

and

        if (umove(tcp, addr, &msg) < 0)
                printaddr(addr + sizeof(msg.udiag_family));
        else {

except the second one fetches msg.udiag_family for the second time.
Why would you prefer it over the first one?

[..]
> Can we print address when len < sizeof(msg)?
> Why print ... when len < sizeof(msg)?

How would you distinguish the case when the specified length was correct
but the fetch failed from the case when the specified length was wrong?


-- 
ldv

Attachment: signature.asc
Description: PGP signature

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Strace-devel mailing list
Strace-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/strace-devel

Reply via email to