From 32aa4310c871288f2d0dd1d018136b7e476271e5 Mon Sep 17 00:00:00 2001 From: Brendan Le Foll Date: Fri, 18 Sep 2015 11:52:49 +0100 Subject: [PATCH] mraa.c: simplify mraa_get_platform_name with subplatforms This removes the chance of buffer overflow with a subplatform Signed-off-by: Brendan Le Foll --- src/mraa.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/mraa.c b/src/mraa.c index 0ad08b3..05fed64 100644 --- a/src/mraa.c +++ b/src/mraa.c @@ -408,11 +408,12 @@ mraa_get_platform_name() if (plat == NULL) { return NULL; } - strncpy(platform_name, plat->platform_name, MAX_PLATFORM_NAME_LENGTH); if (mraa_has_sub_platform()) { - strncat(platform_name, " + ", MAX_PLATFORM_NAME_LENGTH); - strncat(platform_name, plat->sub_platform->platform_name, MAX_PLATFORM_NAME_LENGTH); + snprintf(platform_name, MAX_PLATFORM_NAME_LENGTH, "%s + %s", plat->platform_name, plat->sub_platform->platform_name); + } else { + strncpy(platform_name, plat->platform_name, MAX_PLATFORM_NAME_LENGTH); } + return platform_name; }