diff mbox

[2/4] acpi: crsdump: fix incorrect use of string size in string copies

Message ID 1441695649-9892-3-git-send-email-colin.king@canonical.com
State Accepted
Headers show

Commit Message

Colin Ian King Sept. 8, 2015, 7 a.m. UTC
From: Colin Ian King <colin.king@canonical.com>

Signed-off-by: Colin Ian King <colin.king@canonical.com>
---
 src/acpi/crsdump/crsdump.c | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

Comments

Ivan Hu Sept. 8, 2015, 9:31 a.m. UTC | #1
On 2015年09月08日 15:00, Colin King wrote:
> From: Colin Ian King <colin.king@canonical.com>
>
> Signed-off-by: Colin Ian King <colin.king@canonical.com>
> ---
>   src/acpi/crsdump/crsdump.c | 7 +++----
>   1 file changed, 3 insertions(+), 4 deletions(-)
>
> diff --git a/src/acpi/crsdump/crsdump.c b/src/acpi/crsdump/crsdump.c
> index 37bd17d..4e124c6 100644
> --- a/src/acpi/crsdump/crsdump.c
> +++ b/src/acpi/crsdump/crsdump.c
> @@ -305,12 +305,11 @@ static const char *crs_pin_configuration(const uint64_t val)
>   static const char *crs_irq_map(const uint64_t val)
>   {
>   	static char buf[6 + (32 * 4)];
> -	const size_t n = sizeof(buf) - 1;
>
> -	strncpy(buf, "IRQ:", n);
> +	strncpy(buf, "IRQ:", 5);
>
>   	if (!val) {
> -		strncat(buf, " none", n);
> +		strncat(buf, " none", 6);
>   	} else {
>   		unsigned int i;
>
> @@ -319,7 +318,7 @@ static const char *crs_irq_map(const uint64_t val)
>   				char tmp[5];
>
>   				snprintf(tmp, sizeof(tmp), " %u", i);
> -				strncat(buf, tmp, n);
> +				strncat(buf, tmp, 4);
>   			}
>   		}
>   	}
>

Acked-by: Ivan Hu <ivan.hu@canonical.com>
Alex Hung Sept. 9, 2015, 3:21 a.m. UTC | #2
On 09/08/2015 03:00 PM, Colin King wrote:
> From: Colin Ian King <colin.king@canonical.com>
> 
> Signed-off-by: Colin Ian King <colin.king@canonical.com>
> ---
>  src/acpi/crsdump/crsdump.c | 7 +++----
>  1 file changed, 3 insertions(+), 4 deletions(-)
> 
> diff --git a/src/acpi/crsdump/crsdump.c b/src/acpi/crsdump/crsdump.c
> index 37bd17d..4e124c6 100644
> --- a/src/acpi/crsdump/crsdump.c
> +++ b/src/acpi/crsdump/crsdump.c
> @@ -305,12 +305,11 @@ static const char *crs_pin_configuration(const uint64_t val)
>  static const char *crs_irq_map(const uint64_t val)
>  {
>  	static char buf[6 + (32 * 4)];
> -	const size_t n = sizeof(buf) - 1;
>  
> -	strncpy(buf, "IRQ:", n);
> +	strncpy(buf, "IRQ:", 5);
>  
>  	if (!val) {
> -		strncat(buf, " none", n);
> +		strncat(buf, " none", 6);
>  	} else {
>  		unsigned int i;
>  
> @@ -319,7 +318,7 @@ static const char *crs_irq_map(const uint64_t val)
>  				char tmp[5];
>  
>  				snprintf(tmp, sizeof(tmp), " %u", i);
> -				strncat(buf, tmp, n);
> +				strncat(buf, tmp, 4);
>  			}
>  		}
>  	}
> 

Acked-by: Alex Hung <alex.hung@canonical.com>
diff mbox

Patch

diff --git a/src/acpi/crsdump/crsdump.c b/src/acpi/crsdump/crsdump.c
index 37bd17d..4e124c6 100644
--- a/src/acpi/crsdump/crsdump.c
+++ b/src/acpi/crsdump/crsdump.c
@@ -305,12 +305,11 @@  static const char *crs_pin_configuration(const uint64_t val)
 static const char *crs_irq_map(const uint64_t val)
 {
 	static char buf[6 + (32 * 4)];
-	const size_t n = sizeof(buf) - 1;
 
-	strncpy(buf, "IRQ:", n);
+	strncpy(buf, "IRQ:", 5);
 
 	if (!val) {
-		strncat(buf, " none", n);
+		strncat(buf, " none", 6);
 	} else {
 		unsigned int i;
 
@@ -319,7 +318,7 @@  static const char *crs_irq_map(const uint64_t val)
 				char tmp[5];
 
 				snprintf(tmp, sizeof(tmp), " %u", i);
-				strncat(buf, tmp, n);
+				strncat(buf, tmp, 4);
 			}
 		}
 	}