qemu-trivial
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-trivial] [Qemu-devel] [PATCH] qed: don't pass NULL to memcpy


From: Pavel Borzenkov
Subject: Re: [Qemu-trivial] [Qemu-devel] [PATCH] qed: don't pass NULL to memcpy
Date: Fri, 21 Oct 2011 13:06:21 +0400

On 10/21/2011 12:31 PM, Markus Armbruster wrote:
> Paolo Bonzini<address@hidden>  writes:
>
>> On 10/20/2011 07:23 PM, Stefan Hajnoczi wrote:
>>> On Tue, Oct 18, 2011 at 09:17:35PM +0400, Pavel Borzenkov wrote:
>>>> Spotted by Clang Analyzer
>>>>
>>>> Signed-off-by: Pavel Borzenkov<address@hidden>
>>>> ---
>>>>    block/qed.c |    6 ++++--
>>>>    1 files changed, 4 insertions(+), 2 deletions(-)
>>>
>>> Thanks, applied to the trivial patches tree:
>>> http://repo.or.cz/w/qemu/stefanha.git/shortlog/refs/heads/trivial-patches
>>
>> I think there are other places in the tree where we assume that
>> "memcpy(dest, NULL, 0);" works.
>
> Looks like a fair assumption to me.

Such calls work, but this is UB. Calling string functions with NULL
pointers and zero length is a violation of the C99 standard:

7.21.1 String function conventions
Where an argument declared as size_t n specifies the length of the
array for a function, n can have the value zero on a call to that
function. Unless explicitly stated otherwise in the description of a
particular function in this subclause, pointer arguments on such a
call shall still have valid values, as described in 7.1.4.

-- 
Pavel



reply via email to

[Prev in Thread] Current Thread [Next in Thread]