[Devel] Re: [PATCH 1/1] cr: uts: don't pass an unsigned var as a signed int
Serge E. Hallyn
serge at hallyn.com
Sat Jun 20 17:18:37 PDT 2009
Quoting Nathan Lynch (ntl at pobox.com):
> "Serge E. Hallyn" <serue at us.ibm.com> writes:
>
> > Else my checkpoing image gets reeeaallly huge. Just passing the
> > result of sizeof() however does the right thing.
> >
> > Signed-off-by: Serge E. Hallyn <serue at us.ibm.com>
> > ---
> > checkpoint/namespace.c | 12 ++++++------
> > 1 files changed, 6 insertions(+), 6 deletions(-)
>
> But right above the code you're changing we have:
>
> h->sysname_len = sizeof(name->sysname);
> h->nodename_len = sizeof(name->nodename);
> h->release_len = sizeof(name->release);
> h->version_len = sizeof(name->version);
> h->machine_len = sizeof(name->machine);
> h->domainname_len = sizeof(name->domainname);
>
> Your patch shouldn't change any behavior. What gives?
"Shouldn't", perhaps, but does.
I assumed the compiler guessed that i wanted an int in the
second case and gave me a different result for that sizeof.
> (PS: ckpt_write_string and friends should take a size_t or some other
> unsigned type for len.)
There I agree, but then we need to check that no callers are
passing in potentially negative signed ints coming from userspace,
so I thought this patch would spur discussion about best path
forward (plus make checkpoint work for me again :)
-serge
_______________________________________________
Containers mailing list
Containers at lists.linux-foundation.org
https://lists.linux-foundation.org/mailman/listinfo/containers
More information about the Devel
mailing list