]> git.ipfire.org Git - thirdparty/rrdtool-1.x.git/commitdiff
complain about strings that are too long when restoring to rrd 556/head
authorTobias Oetiker <tobi@oetiker.ch>
Mon, 17 Nov 2014 22:48:12 +0000 (23:48 +0100)
committerTobias Oetiker <tobi@oetiker.ch>
Mon, 17 Nov 2014 22:48:12 +0000 (23:48 +0100)
src/rrd_restore.c

index df1f0725b4b741ec240c527929a927f9d8043f63..190bc21e36116b7fc5e3f8596f18ff504de06164 100644 (file)
@@ -239,11 +239,15 @@ static xmlChar* get_xml_text (
 static int get_xml_string(
     xmlTextReaderPtr reader,
     char *value,
-    int max_len)
+    unsigned int max_len)
 {
     xmlChar *str;
     str = get_xml_text(reader);
     if (str != NULL){
+        if (strlen((char *)str) >= max_len){
+            rrd_set_error("'%s' is longer than %i",str,max_len);
+            return -1;
+        }            
         strncpy(value,(char *)str,max_len);
         xmlFree(str);
         return 0;