[Ocfs2-devel] [patch] ocfs2: tighten up strlen() checking
Wengang Wang
wen.gang.wang at oracle.com
Mon Jul 12 07:31:55 PDT 2010
Hi Dan,
On 10-07-12 15:39, Dan Carpenter wrote:
> On Mon, Jul 12, 2010 at 07:30:06PM +0800, Wengang Wang wrote:
> > Also, the uuid shouldn't be treated as NULL tailed string.
> > 142 struct ocfs2_control_message_down {
> > 143 char tag[OCFS2_CONTROL_MESSAGE_OP_LEN];
> > 144 char space1;
> > 145 char uuid[OCFS2_TEXT_UUID_LEN];
> > 146 char space2;
>
> The space1 and space2 characters are NULL terminators:
>
> From ocfs2_control_do_down_msg():
> msg->space1 = msg->space2 = msg->newline = '\0';
>
> I would have thought it had to be a "packed" struct, but it works
> because there are only chars in that struct. So that code is fine.
Yes, it is working fine.
I would rather think that structure is misleading than smart :-D.
I prefer this:
struct ocfs2_control_message_down {
char tag[OCFS2_CONTROL_MESSAGE_OP_LEN + 1];
#define space1 tag[OCFS2_CONTROL_MESSAGE_OP_LEN]
char uuid[OCFS2_TEXT_UUID_LEN + 1];
#define space2 uuid[OCFS2_TEXT_UUID_LEN]
....
regards,
wengang.
More information about the Ocfs2-devel
mailing list