[PATCH] sim-utils.c: prevent buffer overflow.

Andrew Burgess andrew.burgess@embecosm.com
Mon Dec 2 21:20:00 GMT 2019


* Pavel I. Kryukov <kryukov@frtk.ru> [2019-12-02 22:06:04 +0300]:

> From 2d6383b7baa715d65191f0f6818ecdd8f5e8fc7d Mon Sep 17 00:00:00 2001
> From: "Pavel I. Kryukov" <kryukov@frtk.ru>
> Date: Sun, 1 Dec 2019 01:40:21 +0300
> Subject: [PATCH] sim-utils.c: prevent buffer overflow.
> 
> Representation of max 32-bit integer is 10 chars.
> The potential issue is observed by GCC 7 targeted to AArch64.
> 
> sim/common/ChangeLog:
> 2019-12-01  Pavel I. Kryukov  <kryukov@frtk.ru>
> 
>         * sim-utils.c: Prevent buffer overflow.

Approved.

Sorry about the xsnprintf confusion - I'd assumed that came from
libiberty, my mistake.

Thanks,
Andrew



> ---
>  sim/common/ChangeLog   | 4 ++++
>  sim/common/sim-utils.c | 8 ++++----
>  2 files changed, 8 insertions(+), 4 deletions(-)
> 
> diff --git a/sim/common/ChangeLog b/sim/common/ChangeLog
> index a7ec5c7..12d900e 100644
> --- a/sim/common/ChangeLog
> +++ b/sim/common/ChangeLog
> @@ -1,3 +1,7 @@
> +2019-12-01  Pavel I. Kryukov  <kryukov@frtk.ru>
> +
> +	* sim-utils.c: Prevent buffer overflow.
> +
>  2019-09-23  Dimitar Dimitrov  <dimitar@dinux.eu>
> 
>         * gennltvals.sh: Add PRU libgloss target.
> diff --git a/sim/common/sim-utils.c b/sim/common/sim-utils.c
> index e83a2e4..0c46662 100644
> --- a/sim/common/sim-utils.c
> +++ b/sim/common/sim-utils.c
> @@ -355,8 +355,8 @@ map_to_str (unsigned map)
>      case io_map: return "io";
>      default:
>        {
> -	static char str[10];
> -	sprintf (str, "(%ld)", (long) map);
> +	static char str[16];
> +	snprintf (str, sizeof(str), "(%ld)", (long) map);
>         return str;
>        }
>      }
> @@ -385,8 +385,8 @@ access_to_str (unsigned access)
>      case access_read_write_exec_io: return "read_write_exec_io";
>      default:
>        {
> -	static char str[10];
> -	sprintf (str, "(%ld)", (long) access);
> +	static char str[16];
> +	snprintf (str, sizeof(str), "(%ld)", (long) access);
>         return str;
>        }
>      }
> -- 
> 2.7.4



More information about the Gdb-patches mailing list