Linux s390 Architecture development
 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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox