[PATCH 2/7] imd: string returned from imd_string_data should be const
Sascha Hauer
s.hauer at pengutronix.de
Tue Mar 29 01:50:49 PDT 2016
imd_string_data() returns the original data, so the string should be
const.
Signed-off-by: Sascha Hauer <s.hauer at pengutronix.de>
---
common/imd.c | 13 +++++++++----
1 file changed, 9 insertions(+), 4 deletions(-)
diff --git a/common/imd.c b/common/imd.c
index acaa23f..9bd1563 100644
--- a/common/imd.c
+++ b/common/imd.c
@@ -193,7 +193,7 @@ static uint32_t imd_name_to_type(const char *name)
return IMD_TYPE_INVALID;
}
-static char *imd_string_data(struct imd_header *imd, int index)
+static const char *imd_string_data(struct imd_header *imd, int index)
{
int i, total = 0, l = 0;
int len = imd_read_length(imd);
@@ -306,10 +306,15 @@ int imd_command(int argc, char *argv[])
}
if (imd_is_string(type)) {
- if (strno >= 0)
- str = imd_string_data(imd, strno);
- else
+ if (strno >= 0) {
+ const char *s = imd_string_data(imd, strno);
+ if (s)
+ str = strdup(s);
+ else
+ str = NULL;
+ } else {
str = imd_concat_strings(imd);
+ }
if (!str)
return -ENODATA;
--
2.7.0
More information about the barebox
mailing list