summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarc Kleine-Budde <mkl@pengutronix.de>2015-06-21 20:29:51 +0200
committerMarc Kleine-Budde <mkl@pengutronix.de>2015-06-21 20:29:51 +0200
commit66b3a1b9be863ade2570ca74df5647999f1208c1 (patch)
tree98e580036e40f21471b4c2468339bfda26bdc539
parent55191a63c8c05c732e71c39618d35e4b337f8daf (diff)
downloaddt-utils-66b3a1b9be863ade2570ca74df5647999f1208c1.tar.gz
dt-utils-66b3a1b9be863ade2570ca74df5647999f1208c1.tar.xz
barebox-state: __state_string_get: fix strings with max length
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
-rw-r--r--src/barebox-state.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/barebox-state.c b/src/barebox-state.c
index 748a5b4..02e085b 100644
--- a/src/barebox-state.c
+++ b/src/barebox-state.c
@@ -1871,8 +1871,12 @@ static char *__state_string_get(struct state_variable *var)
char *str;
int ret;
- ret = asprintf(&str, "%s", string->raw);
- if (ret < 0)
+ if (string->raw[0])
+ str = strndup(string->raw, string->var.size);
+ else
+ str = strdup("");
+
+ if (!str)
return ERR_PTR(-ENOMEM);
return str;