components/iftop/patches/07.cfgfile.c.patch
author Leibo Wang <Leibo.Wang@Sun.COM>
Wed, 11 Dec 2013 18:51:23 -0800
changeset 1594 7302abf31ae0
permissions -rw-r--r--
17347731 iftop core dumps when using more than one -f option 17363623 iftop should support 64-bit building for Solaris
This patch fixed segfault when supplying multiple options like '-f' for iftop.
The fixing has been integrated into open iftop-1.0 pre-release version. We can
see the fixing log here: 
http://www.ex-parrot.com/~pdw/iftop/cvs/iftop/ChangeLog

--- cfgfile.c.orig	2013-12-02 00:37:09.851645000 -0800
+++ cfgfile.c	2013-12-02 00:31:53.734822000 -0800
@@ -230,8 +230,13 @@
     stringmap S;
 
     S = stringmap_find(config, directive);
-    if (S) stringmap_delete_free(S);
-    stringmap_insert(config, directive, item_ptr(xstrdup(s)));
+    if (S) {
+	xfree(S->d.v);
+	S->d = item_ptr(xstrdup(s));
+    }
+    else {
+	stringmap_insert(config, directive, item_ptr(xstrdup(s)));
+    }
 }
 
 int read_config(char *file, int whinge_on_error) {