aboutsummaryrefslogtreecommitdiffstats
path: root/epan/oids.c
diff options
context:
space:
mode:
authorBalint Reczey <balint.reczey@ericsson.com>2010-02-25 19:28:58 +0000
committerBalint Reczey <balint.reczey@ericsson.com>2010-02-25 19:28:58 +0000
commit339131d835d948ce01512986573c7c2852477d5c (patch)
tree251f7b4fc7cd519fecca97847e4e6fc6720e243f /epan/oids.c
parent59c1e948e36dd41cc7809ba2e037b182d82250ad (diff)
Prevent potential crash in libsmi.
From: Vincent Bernat <bernat@debian.org> svn path=/trunk/; revision=32006
Diffstat (limited to 'epan/oids.c')
-rw-r--r--epan/oids.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/epan/oids.c b/epan/oids.c
index d59a73aa3e..6501cba7e7 100644
--- a/epan/oids.c
+++ b/epan/oids.c
@@ -587,6 +587,18 @@ static void register_mibs(void) {
D(3,("\tModule: %s", smiModule->name));
+ /* TODO: Check libsmi version at compile time and disable this
+ * workaround for libsmi versions where this problem is fixed.
+ * Currently there is no such version. :-(
+ */
+ if (smiModule->conformance <= 1)
+ report_failure("Stopped processing module %s due to "
+ "error(s) to prevent potential crash in libsmi.\n"
+ "Module's conformance level: %d.\n"
+ "See details at: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=560325\n",
+ smiModule->name, smiModule->conformance);
+ continue;
+
for (smiNode = smiGetFirstNode(smiModule, SMI_NODEKIND_ANY);
smiNode;
smiNode = smiGetNextNode(smiNode, SMI_NODEKIND_ANY)) {