Commit f714ca80 authored by Yann Gautier's avatar Yann Gautier
Browse files

plat/st: do not rely on tainted value for dt property length

To compare the "okay" string of a property, strncmp is used but with the
length given by fdt_getprop. This len value is reported as tainted by
Coverity [1]. We just can use strlen("okay") which is a known value
to compare the 2 strings.

 [1] https://scan4.coverity.com/reports.htm#v51972/p11439/fileInstanceId=96515154&defectInstanceId=14219121&mergedDefectId=342997

Signed-off-by: default avatarYann Gautier <yann.gautier@foss.st.com>
Change-Id: Ic8fb6ccf3126a37df615e433eb028861812015da
parent 6794378d
/* /*
* Copyright (c) 2017-2020, ARM Limited and Contributors. All rights reserved. * Copyright (c) 2017-2021, ARM Limited and Contributors. All rights reserved.
* *
* SPDX-License-Identifier: BSD-3-Clause * SPDX-License-Identifier: BSD-3-Clause
*/ */
...@@ -72,21 +72,20 @@ bool fdt_check_node(int node) ...@@ -72,21 +72,20 @@ bool fdt_check_node(int node)
uint8_t fdt_get_status(int node) uint8_t fdt_get_status(int node)
{ {
uint8_t status = DT_DISABLED; uint8_t status = DT_DISABLED;
int len;
const char *cchar; const char *cchar;
cchar = fdt_getprop(fdt, node, "status", &len); cchar = fdt_getprop(fdt, node, "status", NULL);
if ((cchar == NULL) || if ((cchar == NULL) ||
(strncmp(cchar, "okay", (size_t)len) == 0)) { (strncmp(cchar, "okay", strlen("okay")) == 0)) {
status |= DT_NON_SECURE; status |= DT_NON_SECURE;
} }
cchar = fdt_getprop(fdt, node, "secure-status", &len); cchar = fdt_getprop(fdt, node, "secure-status", NULL);
if (cchar == NULL) { if (cchar == NULL) {
if (status == DT_NON_SECURE) { if (status == DT_NON_SECURE) {
status |= DT_SECURE; status |= DT_SECURE;
} }
} else if (strncmp(cchar, "okay", (size_t)len) == 0) { } else if (strncmp(cchar, "okay", strlen("okay")) == 0) {
status |= DT_SECURE; status |= DT_SECURE;
} }
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment