[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20161013233722.GX19539@ZenIV.linux.org.uk>
Date: Fri, 14 Oct 2016 00:37:22 +0100
From: Al Viro <viro@...IV.linux.org.uk>
To: none <ytrezq@...-eu.org>
Cc: linux-kernel@...r.kernel.org
Subject: Re: when to size_t for representing length instead of int ?
On Fri, Oct 14, 2016 at 12:12:43AM +0200, none wrote:
> Hello,
>
> I wanted to known the rules in coding guidelines concerning the use of
> size_t.
> It seems the signed int type is used most of the time for representing
> string sizes, including in some parts written by Linus in /lib.
> They’re can buffer overflows attack if ssize_t if larger than sizeof(int)
> (though I agree this isn’t the only way, but at least it´s less error
> prone).
Huh? size_t is the type of sizoef result; ssize_t is its signed counterpart.
> So is it guaranteed for all current and future cpu architectures the Linux
> kernel support that ssize_t will always be equal to sizeof(int) ?
Of course it isn't. Not true on any 64bit architecture we support...
What attacks are, in your opinion, enabled by that fact? I'm sure that
libc (and C standard) folks would be very interested, considering that
e.g. strlen() is declared as function that takes a pointer to const char and
returns size_t...
Powered by blists - more mailing lists