Thread (1 message) 1 message, 1 author, 2016-09-16

Re: [PATCH] mdadm: replace hard coded string length

From: Jes Sorensen <hidden>
Date: 2016-09-16 12:38:34

Adam Goryachev [off-list ref] writes:
On 16/09/16 04:10, Thomas Fjellstrom wrote:
quoted
On Thursday, September 15, 2016 12:15:30 PM MDT Jes Sorensen wrote:
quoted
I was about to apply this, but this is actually wrong. You need to use
the size of the destination, not of the source as the limit.

Sorry for the hassle.
I'm not aware of the full details, but either they are the same size, or they
aren't, and you need to use the minimum size of both to avoid any kind of
overflow (source or dest, read and write). I presume the destination is
smaller?
I'm not a programmer, but I think the size of the source is
irrelevant. If the source is 10 bytes, you can safely copy that to a
destination of 30 bytes. The only problem is if the source content is
bigger than the destination. Hence, you should copy only based on the
destination size.

I'm not sure, but it may be a good idea to confirm that all of the
source content has been copied, or else there may be unexpected
results when operating on a truncated value.  I'm sure someone else
who is an actual programmer can jump in and advise...
Technically you are correct. However if we start adding such checks,
there's a full time job running through the code fixing up cases like
these. This for cases where we know it won't go wrong. It would also be
a large amount of patch churn for no gain.

Cheers,
Jes
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help