From 778c6d81c80a44a9edf705e8f9fe28f5d50da88f Mon Sep 17 00:00:00 2001 From: Stefan Tauner Date: Fri, 5 Sep 2014 16:14:11 +0000 Subject: dmi.c: Duplicate returned strings because they are meant to be freed Without this patch dmi_shutdown calls free() on read-only strings. Corresponding to flashrom svn r1849. Signed-off-by: Stefan Tauner Acked-by: Carl-Daniel Hailfinger --- dmi.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'dmi.c') diff --git a/dmi.c b/dmi.c index 1b120966a..a7a9a6110 100644 --- a/dmi.c +++ b/dmi.c @@ -120,18 +120,18 @@ static char *dmi_string(const char *buf, uint8_t string_id, const char *limit) size_t i, len; if (string_id == 0) - return "Not Specified"; + return strdup("Not Specified"); while (string_id > 1 && string_id--) { if (buf >= limit) { msg_perr("DMI table is broken (string portion out of bounds)!\n"); - return ""; + return strdup(""); } buf += strnlen(buf, limit - buf) + 1; } if (!*buf) /* as long as the current byte we're on isn't null */ - return ""; + return strdup(""); len = strnlen(buf, limit - buf); char *newbuf = malloc(len + 1); -- cgit v1.2.3