All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/2] s390: Fix wrong size in memcmp (netiucv)
@ 2011-01-29 21:33 Stefan Weil
  2011-01-29 21:33 ` [PATCH 2/2] s390: Fix possibly wrong size in strncmp (smsglucv) Stefan Weil
  2011-01-31 10:37 ` [PATCH 1/2] s390: Fix wrong size in memcmp (netiucv) Ursula Braun
  0 siblings, 2 replies; 8+ messages in thread
From: Stefan Weil @ 2011-01-29 21:33 UTC (permalink / raw)
  To: linux390
  Cc: Stefan Weil, Ursula Braun, Frank Blaschka, Martin Schwidefsky,
	Heiko Carstens, linux-s390, linux-kernel

This error was reported by cppcheck:
drivers/s390/net/netiucv.c:568: error: Using sizeof for array given as function argument returns the size of pointer.

sizeof(ipuser) did not result in 16 (as many programmers would have
expected) but sizeof(u8 *), so it is 4 or 8, too small here.

Cc: Ursula Braun <ursula.braun@de.ibm.com>
Cc: linux390@de.ibm.com
Cc: Frank Blaschka <blaschka@linux.vnet.ibm.com>
Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
Cc: linux-s390@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Stefan Weil <weil@mail.berlios.de>
---
 drivers/s390/net/netiucv.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/s390/net/netiucv.c b/drivers/s390/net/netiucv.c
index 65ebee0..b6a6356 100644
--- a/drivers/s390/net/netiucv.c
+++ b/drivers/s390/net/netiucv.c
@@ -565,7 +565,7 @@ static int netiucv_callback_connreq(struct iucv_path *path,
 	struct iucv_event ev;
 	int rc;
 
-	if (memcmp(iucvMagic, ipuser, sizeof(ipuser)))
+	if (memcmp(iucvMagic, ipuser, 16))
 		/* ipuser must match iucvMagic. */
 		return -EINVAL;
 	rc = -EINVAL;
-- 
1.7.2.3


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH 2/2] s390: Fix possibly wrong size in strncmp (smsglucv)
  2011-01-29 21:33 [PATCH 1/2] s390: Fix wrong size in memcmp (netiucv) Stefan Weil
@ 2011-01-29 21:33 ` Stefan Weil
  2011-01-29 21:38   ` Jesper Juhl
  2011-01-31 10:44   ` Ursula Braun
  2011-01-31 10:37 ` [PATCH 1/2] s390: Fix wrong size in memcmp (netiucv) Ursula Braun
  1 sibling, 2 replies; 8+ messages in thread
From: Stefan Weil @ 2011-01-29 21:33 UTC (permalink / raw)
  To: linux390
  Cc: Stefan Weil, Ursula Braun, Frank Blaschka, Martin Schwidefsky,
	Heiko Carstens, linux-s390, linux-kernel

This error was reported by cppcheck:
drivers/s390/net/smsgiucv.c:63: error: Using sizeof for array given as function argument returns the size of pointer.

Although there is no runtime problem as long as sizeof(u8 *) == 8,
this misleading code should get fixed.

Cc: Ursula Braun <ursula.braun@de.ibm.com>
Cc: linux390@de.ibm.com
Cc: Frank Blaschka <blaschka@linux.vnet.ibm.com>
Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
Cc: linux-s390@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Stefan Weil <weil@mail.berlios.de>
---
 drivers/s390/net/smsgiucv.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/s390/net/smsgiucv.c b/drivers/s390/net/smsgiucv.c
index 65e1cf1..207b7d7 100644
--- a/drivers/s390/net/smsgiucv.c
+++ b/drivers/s390/net/smsgiucv.c
@@ -60,7 +60,7 @@ static struct iucv_handler smsg_handler = {
 static int smsg_path_pending(struct iucv_path *path, u8 ipvmid[8],
 			     u8 ipuser[16])
 {
-	if (strncmp(ipvmid, "*MSG    ", sizeof(ipvmid)) != 0)
+	if (strncmp(ipvmid, "*MSG    ", 8) != 0)
 		return -EINVAL;
 	/* Path pending from *MSG. */
 	return iucv_path_accept(path, &smsg_handler, "SMSGIUCV        ", NULL);
-- 
1.7.2.3


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [PATCH 2/2] s390: Fix possibly wrong size in strncmp (smsglucv)
  2011-01-29 21:33 ` [PATCH 2/2] s390: Fix possibly wrong size in strncmp (smsglucv) Stefan Weil
@ 2011-01-29 21:38   ` Jesper Juhl
  2011-01-29 22:08     ` Andreas Schwab
  2011-01-29 23:00     ` Stefan Weil
  2011-01-31 10:44   ` Ursula Braun
  1 sibling, 2 replies; 8+ messages in thread
From: Jesper Juhl @ 2011-01-29 21:38 UTC (permalink / raw)
  To: Stefan Weil
  Cc: linux390, Ursula Braun, Frank Blaschka, Martin Schwidefsky,
	Heiko Carstens, linux-s390, linux-kernel

On Sat, 29 Jan 2011, Stefan Weil wrote:

> This error was reported by cppcheck:
> drivers/s390/net/smsgiucv.c:63: error: Using sizeof for array given as function argument returns the size of pointer.
> 
> Although there is no runtime problem as long as sizeof(u8 *) == 8,
> this misleading code should get fixed.
> 
> Cc: Ursula Braun <ursula.braun@de.ibm.com>
> Cc: linux390@de.ibm.com
> Cc: Frank Blaschka <blaschka@linux.vnet.ibm.com>
> Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
> Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
> Cc: linux-s390@vger.kernel.org
> Cc: linux-kernel@vger.kernel.org
> Signed-off-by: Stefan Weil <weil@mail.berlios.de>
> ---
>  drivers/s390/net/smsgiucv.c |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
> 
> diff --git a/drivers/s390/net/smsgiucv.c b/drivers/s390/net/smsgiucv.c
> index 65e1cf1..207b7d7 100644
> --- a/drivers/s390/net/smsgiucv.c
> +++ b/drivers/s390/net/smsgiucv.c
> @@ -60,7 +60,7 @@ static struct iucv_handler smsg_handler = {
>  static int smsg_path_pending(struct iucv_path *path, u8 ipvmid[8],
>  			     u8 ipuser[16])
>  {
> -	if (strncmp(ipvmid, "*MSG    ", sizeof(ipvmid)) != 0)
> +	if (strncmp(ipvmid, "*MSG    ", 8) != 0)

Hmm, shouldn't this really be  ARRAY_SIZE(ipvmid)  ??

-- 
Jesper Juhl <jj@chaosbits.net>            http://www.chaosbits.net/
Don't top-post http://www.catb.org/~esr/jargon/html/T/top-post.html
Plain text mails only, please.


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH 2/2] s390: Fix possibly wrong size in strncmp (smsglucv)
  2011-01-29 21:38   ` Jesper Juhl
@ 2011-01-29 22:08     ` Andreas Schwab
  2011-01-29 23:00     ` Stefan Weil
  1 sibling, 0 replies; 8+ messages in thread
From: Andreas Schwab @ 2011-01-29 22:08 UTC (permalink / raw)
  To: Jesper Juhl
  Cc: Stefan Weil, linux390, Ursula Braun, Frank Blaschka,
	Martin Schwidefsky, Heiko Carstens, linux-s390, linux-kernel

Jesper Juhl <jj@chaosbits.net> writes:

> On Sat, 29 Jan 2011, Stefan Weil wrote:
>
>> This error was reported by cppcheck:
>> drivers/s390/net/smsgiucv.c:63: error: Using sizeof for array given as function argument returns the size of pointer.
>> 
>> Although there is no runtime problem as long as sizeof(u8 *) == 8,
>> this misleading code should get fixed.
>> 
>> Cc: Ursula Braun <ursula.braun@de.ibm.com>
>> Cc: linux390@de.ibm.com
>> Cc: Frank Blaschka <blaschka@linux.vnet.ibm.com>
>> Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
>> Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
>> Cc: linux-s390@vger.kernel.org
>> Cc: linux-kernel@vger.kernel.org
>> Signed-off-by: Stefan Weil <weil@mail.berlios.de>
>> ---
>>  drivers/s390/net/smsgiucv.c |    2 +-
>>  1 files changed, 1 insertions(+), 1 deletions(-)
>> 
>> diff --git a/drivers/s390/net/smsgiucv.c b/drivers/s390/net/smsgiucv.c
>> index 65e1cf1..207b7d7 100644
>> --- a/drivers/s390/net/smsgiucv.c
>> +++ b/drivers/s390/net/smsgiucv.c
>> @@ -60,7 +60,7 @@ static struct iucv_handler smsg_handler = {
>>  static int smsg_path_pending(struct iucv_path *path, u8 ipvmid[8],
>>  			     u8 ipuser[16])
>>  {
>> -	if (strncmp(ipvmid, "*MSG    ", sizeof(ipvmid)) != 0)
>> +	if (strncmp(ipvmid, "*MSG    ", 8) != 0)
>
> Hmm, shouldn't this really be  ARRAY_SIZE(ipvmid)  ??

ARRAY_SIZE does not work for the same reason why sizeof does not work:
ipvmid is not an array, it's a pointer.

Andreas.

-- 
Andreas Schwab, schwab@linux-m68k.org
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH 2/2] s390: Fix possibly wrong size in strncmp (smsglucv)
  2011-01-29 21:38   ` Jesper Juhl
  2011-01-29 22:08     ` Andreas Schwab
@ 2011-01-29 23:00     ` Stefan Weil
  2011-01-30 12:01       ` Geert Uytterhoeven
  1 sibling, 1 reply; 8+ messages in thread
From: Stefan Weil @ 2011-01-29 23:00 UTC (permalink / raw)
  To: Jesper Juhl
  Cc: linux390, Ursula Braun, Frank Blaschka, Martin Schwidefsky,
	Heiko Carstens, linux-s390, linux-kernel

Am 29.01.2011 22:38, schrieb Jesper Juhl:
> On Sat, 29 Jan 2011, Stefan Weil wrote:
>
>    
>> This error was reported by cppcheck:
>> drivers/s390/net/smsgiucv.c:63: error: Using sizeof for array given as function argument returns the size of pointer.
>>
>> Although there is no runtime problem as long as sizeof(u8 *) == 8,
>> this misleading code should get fixed.
>>
>> Cc: Ursula Braun<ursula.braun@de.ibm.com>
>> Cc: linux390@de.ibm.com
>> Cc: Frank Blaschka<blaschka@linux.vnet.ibm.com>
>> Cc: Martin Schwidefsky<schwidefsky@de.ibm.com>
>> Cc: Heiko Carstens<heiko.carstens@de.ibm.com>
>> Cc: linux-s390@vger.kernel.org
>> Cc: linux-kernel@vger.kernel.org
>> Signed-off-by: Stefan Weil<weil@mail.berlios.de>
>> ---
>>   drivers/s390/net/smsgiucv.c |    2 +-
>>   1 files changed, 1 insertions(+), 1 deletions(-)
>>
>> diff --git a/drivers/s390/net/smsgiucv.c b/drivers/s390/net/smsgiucv.c
>> index 65e1cf1..207b7d7 100644
>> --- a/drivers/s390/net/smsgiucv.c
>> +++ b/drivers/s390/net/smsgiucv.c
>> @@ -60,7 +60,7 @@ static struct iucv_handler smsg_handler = {
>>   static int smsg_path_pending(struct iucv_path *path, u8 ipvmid[8],
>>   			     u8 ipuser[16])
>>   {
>> -	if (strncmp(ipvmid, "*MSG    ", sizeof(ipvmid)) != 0)
>> +	if (strncmp(ipvmid, "*MSG    ", 8) != 0)
>>      
> Hmm, shouldn't this really be  ARRAY_SIZE(ipvmid)  ??
>    

I think that would be wrong, too (only in this special case where
an array is passed as a function parameter).

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH 2/2] s390: Fix possibly wrong size in strncmp (smsglucv)
  2011-01-29 23:00     ` Stefan Weil
@ 2011-01-30 12:01       ` Geert Uytterhoeven
  0 siblings, 0 replies; 8+ messages in thread
From: Geert Uytterhoeven @ 2011-01-30 12:01 UTC (permalink / raw)
  To: Stefan Weil
  Cc: Jesper Juhl, linux390, Ursula Braun, Frank Blaschka,
	Martin Schwidefsky, Heiko Carstens, linux-s390, linux-kernel

On Sun, Jan 30, 2011 at 00:00, Stefan Weil <stefan@weilnetz.de> wrote:
> Am 29.01.2011 22:38, schrieb Jesper Juhl:
>> On Sat, 29 Jan 2011, Stefan Weil wrote:
>>> This error was reported by cppcheck:
>>> drivers/s390/net/smsgiucv.c:63: error: Using sizeof for array given as
>>> function argument returns the size of pointer.
>>>
>>> Although there is no runtime problem as long as sizeof(u8 *) == 8,
>>> this misleading code should get fixed.
>>>
>>> Cc: Ursula Braun<ursula.braun@de.ibm.com>
>>> Cc: linux390@de.ibm.com
>>> Cc: Frank Blaschka<blaschka@linux.vnet.ibm.com>
>>> Cc: Martin Schwidefsky<schwidefsky@de.ibm.com>
>>> Cc: Heiko Carstens<heiko.carstens@de.ibm.com>
>>> Cc: linux-s390@vger.kernel.org
>>> Cc: linux-kernel@vger.kernel.org
>>> Signed-off-by: Stefan Weil<weil@mail.berlios.de>
>>> ---
>>>  drivers/s390/net/smsgiucv.c |    2 +-
>>>  1 files changed, 1 insertions(+), 1 deletions(-)
>>>
>>> diff --git a/drivers/s390/net/smsgiucv.c b/drivers/s390/net/smsgiucv.c
>>> index 65e1cf1..207b7d7 100644
>>> --- a/drivers/s390/net/smsgiucv.c
>>> +++ b/drivers/s390/net/smsgiucv.c
>>> @@ -60,7 +60,7 @@ static struct iucv_handler smsg_handler = {
>>>  static int smsg_path_pending(struct iucv_path *path, u8 ipvmid[8],
>>>                             u8 ipuser[16])
>>>  {
>>> -       if (strncmp(ipvmid, "*MSG    ", sizeof(ipvmid)) != 0)
>>> +       if (strncmp(ipvmid, "*MSG    ", 8) != 0)
>>>
>>
>> Hmm, shouldn't this really be  ARRAY_SIZE(ipvmid)  ??
>>
>
> I think that would be wrong, too (only in this special case where
> an array is passed as a function parameter).

Yeah, I got b itten by that recently as well:

if `u8 ipvmid[8]' is a variable, `sizeof(ipvmid) == 8'.
If it's a function parameter, `sizeof(ipvmid) == sizeof(void *)'.

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH 1/2] s390: Fix wrong size in memcmp (netiucv)
  2011-01-29 21:33 [PATCH 1/2] s390: Fix wrong size in memcmp (netiucv) Stefan Weil
  2011-01-29 21:33 ` [PATCH 2/2] s390: Fix possibly wrong size in strncmp (smsglucv) Stefan Weil
@ 2011-01-31 10:37 ` Ursula Braun
  1 sibling, 0 replies; 8+ messages in thread
From: Ursula Braun @ 2011-01-31 10:37 UTC (permalink / raw)
  To: Stefan Weil
  Cc: linux390, Ursula Braun, Frank Blaschka, Martin Schwidefsky,
	Heiko Carstens, linux-s390, linux-kernel

Ack - thanks, Stefan.

We have added your netiucv patch to our local repository. It will be
part of our next patch collection submitted to Dave Miller for upstream
integration.

Regards, Ursula

On Sat, 2011-01-29 at 22:33 +0100, Stefan Weil wrote:
> This error was reported by cppcheck:
> drivers/s390/net/netiucv.c:568: error: Using sizeof for array given as function argument returns the size of pointer.
> 
> sizeof(ipuser) did not result in 16 (as many programmers would have
> expected) but sizeof(u8 *), so it is 4 or 8, too small here.
> 
> Cc: Ursula Braun <ursula.braun@de.ibm.com>
> Cc: linux390@de.ibm.com
> Cc: Frank Blaschka <blaschka@linux.vnet.ibm.com>
> Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
> Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
> Cc: linux-s390@vger.kernel.org
> Cc: linux-kernel@vger.kernel.org
> Signed-off-by: Stefan Weil <weil@mail.berlios.de>
> ---
>  drivers/s390/net/netiucv.c |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
> 
> diff --git a/drivers/s390/net/netiucv.c b/drivers/s390/net/netiucv.c
> index 65ebee0..b6a6356 100644
> --- a/drivers/s390/net/netiucv.c
> +++ b/drivers/s390/net/netiucv.c
> @@ -565,7 +565,7 @@ static int netiucv_callback_connreq(struct iucv_path *path,
>  	struct iucv_event ev;
>  	int rc;
> 
> -	if (memcmp(iucvMagic, ipuser, sizeof(ipuser)))
> +	if (memcmp(iucvMagic, ipuser, 16))
>  		/* ipuser must match iucvMagic. */
>  		return -EINVAL;
>  	rc = -EINVAL;



^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH 2/2] s390: Fix possibly wrong size in strncmp (smsglucv)
  2011-01-29 21:33 ` [PATCH 2/2] s390: Fix possibly wrong size in strncmp (smsglucv) Stefan Weil
  2011-01-29 21:38   ` Jesper Juhl
@ 2011-01-31 10:44   ` Ursula Braun
  1 sibling, 0 replies; 8+ messages in thread
From: Ursula Braun @ 2011-01-31 10:44 UTC (permalink / raw)
  To: Stefan Weil
  Cc: linux390, Ursula Braun, Frank Blaschka, Martin Schwidefsky,
	Heiko Carstens, linux-s390, linux-kernel


Ack - thanks, Stefan.

We have added your smsgiucv patch to our local repository. It will be
part of our next patch collection submitted to Dave Miller for upstream
integration.

Regards, Ursula

On Sat, 2011-01-29 at 22:33 +0100, Stefan Weil wrote:
> This error was reported by cppcheck:
> drivers/s390/net/smsgiucv.c:63: error: Using sizeof for array given as function argument returns the size of pointer.
> 
> Although there is no runtime problem as long as sizeof(u8 *) == 8,
> this misleading code should get fixed.
> 
> Cc: Ursula Braun <ursula.braun@de.ibm.com>
> Cc: linux390@de.ibm.com
> Cc: Frank Blaschka <blaschka@linux.vnet.ibm.com>
> Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
> Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
> Cc: linux-s390@vger.kernel.org
> Cc: linux-kernel@vger.kernel.org
> Signed-off-by: Stefan Weil <weil@mail.berlios.de>
> ---
>  drivers/s390/net/smsgiucv.c |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
> 
> diff --git a/drivers/s390/net/smsgiucv.c b/drivers/s390/net/smsgiucv.c
> index 65e1cf1..207b7d7 100644
> --- a/drivers/s390/net/smsgiucv.c
> +++ b/drivers/s390/net/smsgiucv.c
> @@ -60,7 +60,7 @@ static struct iucv_handler smsg_handler = {
>  static int smsg_path_pending(struct iucv_path *path, u8 ipvmid[8],
>  			     u8 ipuser[16])
>  {
> -	if (strncmp(ipvmid, "*MSG    ", sizeof(ipvmid)) != 0)
> +	if (strncmp(ipvmid, "*MSG    ", 8) != 0)
>  		return -EINVAL;
>  	/* Path pending from *MSG. */
>  	return iucv_path_accept(path, &smsg_handler, "SMSGIUCV        ", NULL);



^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2011-01-31 10:44 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-01-29 21:33 [PATCH 1/2] s390: Fix wrong size in memcmp (netiucv) Stefan Weil
2011-01-29 21:33 ` [PATCH 2/2] s390: Fix possibly wrong size in strncmp (smsglucv) Stefan Weil
2011-01-29 21:38   ` Jesper Juhl
2011-01-29 22:08     ` Andreas Schwab
2011-01-29 23:00     ` Stefan Weil
2011-01-30 12:01       ` Geert Uytterhoeven
2011-01-31 10:44   ` Ursula Braun
2011-01-31 10:37 ` [PATCH 1/2] s390: Fix wrong size in memcmp (netiucv) Ursula Braun

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.