[flashrom] [PATCH] Fix handling of empty dmidecode output

Michael Karcher flashrom at mkarcher.dialup.fu-berlin.de
Wed Mar 24 17:58:08 CET 2010


Signed-off-by: Michael Karcher <flashrom at mkarcher.dialup.fu-berlin.de>
---
 dmi.c |   13 ++++++++-----
 1 files changed, 8 insertions(+), 5 deletions(-)

diff --git a/dmi.c b/dmi.c
index 716a7c6..d9f307f 100644
--- a/dmi.c
+++ b/dmi.c
@@ -56,11 +56,14 @@ static char *get_dmi_string(const char *string_name)
 		printf_debug("DMI pipe open error\n");
 		return NULL;
 	}
-	if (!fgets(answerbuf, DMI_MAX_ANSWER_LEN, dmidecode_pipe) &&
-	    ferror(dmidecode_pipe)) {
-		printf_debug("DMI pipe read error\n");
-		pclose(dmidecode_pipe);
-		return NULL;
+	if (!fgets(answerbuf, DMI_MAX_ANSWER_LEN, dmidecode_pipe)) {
+		if(ferror(dmidecode_pipe)) {
+			printf_debug("DMI pipe read error\n");
+			pclose(dmidecode_pipe);
+			return NULL;
+		} else {
+			answerbuf[0] = 0;	/* Hit EOF */
+		}
 	}
 	/* Toss all output above DMI_MAX_ANSWER_LEN away to prevent
 	   deadlock on pclose. */
-- 
1.7.0





More information about the flashrom mailing list