aboot: lib: platform: Fix for banned apis
Use
* snprintf instead of sprintf
* strtok_r instead of strtok
* strlcpy instead of strncpy
Change-Id: Ib48816439f8285f8cb44585dbb13a0cd22607a15
diff --git a/app/aboot/aboot.c b/app/aboot/aboot.c
index ca48092..973e4a2 100644
--- a/app/aboot/aboot.c
+++ b/app/aboot/aboot.c
@@ -2016,12 +2016,13 @@
int index = INVALID_PTN;
char *token = NULL;
char *pname = NULL;
+ char *sp;
uint8_t lun = 0;
bool lun_set = false;
- token = strtok((char *)arg, ":");
+ token = strtok_r((char *)arg, ":", &sp);
pname = token;
- token = strtok(NULL, ":");
+ token = strtok_r(NULL, ":", &sp);
if(token)
{
lun = atoi(token);
diff --git a/lib/openssl/crypto/err/err.c b/lib/openssl/crypto/err/err.c
index bd0d402..0a0a45d 100644
--- a/lib/openssl/crypto/err/err.c
+++ b/lib/openssl/crypto/err/err.c
@@ -603,7 +603,7 @@
char *src = strerror(i);
if (src != NULL)
{
- strncpy(*dest, src, sizeof *dest);
+ strlcpy(*dest, src, sizeof *dest);
(*dest)[sizeof *dest - 1] = '\0';
str->string = *dest;
}
diff --git a/lib/openssl/crypto/evp/evp_key.c b/lib/openssl/crypto/evp/evp_key.c
index 7a3dd35..322fa89 100644
--- a/lib/openssl/crypto/evp/evp_key.c
+++ b/lib/openssl/crypto/evp/evp_key.c
@@ -72,7 +72,7 @@
prompt_string[0]='\0';
else
{
- strncpy(prompt_string,prompt,79);
+ strlcpy(prompt_string,prompt,79);
prompt_string[79]='\0';
}
}
diff --git a/platform/msm_shared/boot_device.c b/platform/msm_shared/boot_device.c
index ac29dac..f74bdd1 100644
--- a/platform/msm_shared/boot_device.c
+++ b/platform/msm_shared/boot_device.c
@@ -1,4 +1,4 @@
-/* Copyright (c) 2014, The Linux Foundation. All rights reserved.
+/* Copyright (c) 2014-2015, The Linux Foundation. All rights reserved.
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are
@@ -76,14 +76,14 @@
{
#if !USE_MDM_BOOT_CFG
case BOOT_DEFAULT:
- sprintf(buf, "%x.sdhci", ((struct mmc_device *)dev)->host.base);
+ snprintf(buf, ((sizeof((struct mmc_device *)dev)->host.base)*2) + 7,"%x.sdhci", ((struct mmc_device *)dev)->host.base);
break;
case BOOT_UFS:
- sprintf(buf, "%x.ufshc", ((struct ufs_dev *)dev)->base);
+ snprintf(buf, ((sizeof((struct ufs_dev *)dev)->base)*2) + 7, "%x.ufshc", ((struct ufs_dev *)dev)->base);
break;
#endif
case BOOT_EMMC:
- sprintf(buf, "%x.sdhci", ((struct mmc_device *)dev)->host.base);
+ snprintf(buf, ((sizeof((struct mmc_device *)dev)->host.base)*2) + 7,"%x.sdhci", ((struct mmc_device *)dev)->host.base);
break;
default:
dprintf(CRITICAL,"ERROR: Unexpected boot_device val=%x",val);