From: Oren Laadan <orenl-RdfvBDnrOixBDgjK7y7TUQ@public.gmane.org>
To: Dan Smith <danms-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
Cc: containers-qjLDD68F18O7TbgM5vRIOg@public.gmane.org
Subject: Re: [PATCH 3/5] Add a ckpt_read_string() function to allow reading of a variable-length (but length-capped) string from the checkpoint stream.
Date: Thu, 23 Jul 2009 21:32:16 -0400 [thread overview]
Message-ID: <4A690F20.4080508@librato.com> (raw)
In-Reply-To: <87y6qfnxoq.fsf-FLMGYpZoEPULwtHQx/6qkW3U47Q5hpJU@public.gmane.org>
Dan Smith wrote:
> OL> You can avoid the memcpy() if you first read only the header, allocate
> OL> the string, and then read data into it.
>
> I've changed it to a _ckpt_read_obj_type(.., NULL, ..) and a
> ckpt_kread() to avoid the memcpy().
>
> OL> On top of this you can have ckpt_read_string() that will verify that
> OL> the buffer is of non-zero length and null terminated ?
>
> What I had ensured a null-terminated string (kzalloc() and len+1).
Of course: that's what _ckpt_read_obj_string() does, and why I
suggested ckpt_read_string(), otherwise it's redundant.
>
> Is this really the appropriate place to ensure that the string is
> non-zero length? Maybe not in the realm of paths and socket names,
> but I can see other places where writing a zero-length string might be
> appropriate...
I used the term "buffer": a zero-length string is a buffer of length 1.
A zero-length buffer becomes (e.g. empty pipe buffer) causes no allocation
and returns a NULL pointer. Callers that deal with strings will likely
not expect this behavior.
Thanks,
Oren.
next prev parent reply other threads:[~2009-07-24 1:32 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-07-22 20:41 Add Checkpoint/Restart support for UNIX sockets Dan Smith
[not found] ` <1248295301-30930-1-git-send-email-danms-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
2009-07-22 20:41 ` [PATCH 1/5] Add _ckpt_read_hdr_type() helper Dan Smith
[not found] ` <1248295301-30930-2-git-send-email-danms-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
2009-07-23 3:59 ` Oren Laadan
[not found] ` <4A67E027.1050602-eQaUEPhvms7ENvBUuze7eA@public.gmane.org>
2009-07-23 16:43 ` Dan Smith
2009-07-22 20:41 ` [PATCH 2/5] Add an errno validation function Dan Smith
[not found] ` <1248295301-30930-3-git-send-email-danms-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
2009-07-23 3:17 ` Oren Laadan
[not found] ` <4A67D654.2000206-RdfvBDnrOixBDgjK7y7TUQ@public.gmane.org>
2009-07-23 15:40 ` Dan Smith
2009-07-22 20:41 ` [PATCH 3/5] Add a ckpt_read_string() function to allow reading of a variable-length (but length-capped) string from the checkpoint stream Dan Smith
[not found] ` <1248295301-30930-4-git-send-email-danms-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
2009-07-23 4:19 ` Oren Laadan
[not found] ` <4A67E4EC.3070509-RdfvBDnrOixBDgjK7y7TUQ@public.gmane.org>
2009-07-23 16:58 ` Dan Smith
[not found] ` <87y6qfnxoq.fsf-FLMGYpZoEPULwtHQx/6qkW3U47Q5hpJU@public.gmane.org>
2009-07-24 1:32 ` Oren Laadan [this message]
2009-07-22 20:41 ` [PATCH 4/5] Add a common sock_bind() helper to unify the security hook Dan Smith
2009-07-22 20:41 ` [PATCH 5/5] c/r: Add AF_UNIX support (v6) Dan Smith
[not found] ` <1248295301-30930-6-git-send-email-danms-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
2009-07-28 16:54 ` Oren Laadan
2009-07-28 20:34 ` Dan Smith
2009-07-28 21:18 ` Oren Laadan
2009-07-29 13:36 ` Serge E. Hallyn
2009-07-29 14:49 ` Dan Smith
2009-07-29 14:59 ` Serge E. Hallyn
2009-07-29 15:03 ` Dan Smith
2009-07-29 15:34 ` Oren Laadan
2009-07-29 18:37 ` Dan Smith
2009-07-30 15:49 ` Dan Smith
2009-07-30 22:10 ` John Dykstra
2009-07-30 22:12 ` John Dykstra
2009-07-30 22:14 ` Dan Smith
2009-08-04 8:27 ` Oren Laadan
2009-08-04 15:16 ` Dan Smith
2009-08-04 17:05 ` Oren Laadan
2009-08-04 17:13 ` Dan Smith
2009-07-29 1:56 ` Serge E. Hallyn
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4A690F20.4080508@librato.com \
--to=orenl-rdfvbdnroixbdgjk7y7tuq@public.gmane.org \
--cc=containers-qjLDD68F18O7TbgM5vRIOg@public.gmane.org \
--cc=danms-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.