diff mbox series

acpi: crsdump: fix portability warning from cppcheck

Message ID 20200513005412.245459-1-colin.king@canonical.com
State Accepted
Headers show
Series acpi: crsdump: fix portability warning from cppcheck | expand

Commit Message

Colin Ian King May 13, 2020, 12:54 a.m. UTC
From: Colin Ian King <colin.king@canonical.com>

cppcheck detected an implementation defined behaviour issue,
fix this by making 1 an unsigned integer value before shifing
it.

src/acpi/crsdump/crsdump.c:321:17: portability: Shifting signed
32-bit value by 31 bits is implementation-defined behaviour
[shiftTooManyBitsSigned]

Signed-off-by: Colin Ian King <colin.king@canonical.com>
---
 src/acpi/crsdump/crsdump.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Alex Hung May 13, 2020, 1:13 a.m. UTC | #1
On 2020-05-12 6:54 p.m., Colin King wrote:
> From: Colin Ian King <colin.king@canonical.com>
> 
> cppcheck detected an implementation defined behaviour issue,
> fix this by making 1 an unsigned integer value before shifing
> it.
> 
> src/acpi/crsdump/crsdump.c:321:17: portability: Shifting signed
> 32-bit value by 31 bits is implementation-defined behaviour
> [shiftTooManyBitsSigned]
> 
> Signed-off-by: Colin Ian King <colin.king@canonical.com>
> ---
>  src/acpi/crsdump/crsdump.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/src/acpi/crsdump/crsdump.c b/src/acpi/crsdump/crsdump.c
> index 5c68f802..86f8b016 100644
> --- a/src/acpi/crsdump/crsdump.c
> +++ b/src/acpi/crsdump/crsdump.c
> @@ -318,7 +318,7 @@ static const char *crs_irq_map(const uint64_t val)
>  		unsigned int i;
>  
>  		for (i = 0; i < 32; i++) {
> -			if (val & (1 << i)) {
> +			if (val & (1UL << i)) {
>  				char tmp[5];
>  
>  				snprintf(tmp, sizeof(tmp), " %u", i);
> 

Acked-by: Alex Hung <alex.hung@canonical.com>
Ivan Hu May 14, 2020, 2:56 a.m. UTC | #2
On 5/13/20 8:54 AM, Colin King wrote:
> From: Colin Ian King <colin.king@canonical.com>
> 
> cppcheck detected an implementation defined behaviour issue,
> fix this by making 1 an unsigned integer value before shifing
> it.
> 
> src/acpi/crsdump/crsdump.c:321:17: portability: Shifting signed
> 32-bit value by 31 bits is implementation-defined behaviour
> [shiftTooManyBitsSigned]
> 
> Signed-off-by: Colin Ian King <colin.king@canonical.com>
> ---
>  src/acpi/crsdump/crsdump.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/src/acpi/crsdump/crsdump.c b/src/acpi/crsdump/crsdump.c
> index 5c68f802..86f8b016 100644
> --- a/src/acpi/crsdump/crsdump.c
> +++ b/src/acpi/crsdump/crsdump.c
> @@ -318,7 +318,7 @@ static const char *crs_irq_map(const uint64_t val)
>  		unsigned int i;
>  
>  		for (i = 0; i < 32; i++) {
> -			if (val & (1 << i)) {
> +			if (val & (1UL << i)) {
>  				char tmp[5];
>  
>  				snprintf(tmp, sizeof(tmp), " %u", i);
> 

Acked-by: Ivan Hu <ivan.hu@canonical.com>
diff mbox series

Patch

diff --git a/src/acpi/crsdump/crsdump.c b/src/acpi/crsdump/crsdump.c
index 5c68f802..86f8b016 100644
--- a/src/acpi/crsdump/crsdump.c
+++ b/src/acpi/crsdump/crsdump.c
@@ -318,7 +318,7 @@  static const char *crs_irq_map(const uint64_t val)
 		unsigned int i;
 
 		for (i = 0; i < 32; i++) {
-			if (val & (1 << i)) {
+			if (val & (1UL << i)) {
 				char tmp[5];
 
 				snprintf(tmp, sizeof(tmp), " %u", i);