More range checks

This is a second patch adding more range checks where appropriate.

Change-Id: Ie169efe8924153c9cc11e4472a1b07b8d04efb3b
Signed-off-by: Ed Tanous <ed@tanous.net>
diff --git a/cper-utils.c b/cper-utils.c
index 6c76156..11fdbcb 100644
--- a/cper-utils.c
+++ b/cper-utils.c
@@ -425,3 +425,24 @@
 
 	return 1;
 }
+
+void add_untrusted_string(json_object *ir, const char *field_name,
+			  const char *str, int len)
+{
+	int fru_text_len = 0;
+	for (; fru_text_len < len; fru_text_len++) {
+		char c = str[fru_text_len];
+		if (c < 0) {
+			fru_text_len = -1;
+			break;
+		}
+		if (c == '\0') {
+			break;
+		}
+	}
+	if (fru_text_len >= 0) {
+		json_object_object_add(
+			ir, field_name,
+			json_object_new_string_len(str, fru_text_len));
+	}
+}