Subject: Re: more iproute2 issues (not critical)

From: Patrick McHardy <[email-masked]>
Date: Sat, 31 Mar 2007 16:16:56 +0200

Denys wrote:
> Ooops, sorry, it seems my fault, no library exist on this system.
> But i guess it must not coredump in this case? Is it possible to check if 
> library not exist and just print some nice message?
> It is trivial i guess.

The problem is that lib_dir is NULL when calling get_target_names.
This patch fixes it.

[IPROUTE]: m_ipt: fix crash when dumping rules

lib_dir is NULL when calling get_target_name, causing a NULL pointer
dereference in the strlen call.

Signed-off-by: Patrick McHardy <[email-masked]>

---
commit 5093ef7504b7f3d76ec421c5193d11d0e9791a8d
tree 4dfa97ecd6aa01f33334f605f152a0d7da2ccde9
parent ab4c2f14fb93700c9aefeb02ed9918565ba332a1
author Patrick McHardy <[email-masked]> Sat, 31 Mar 2007 16:14:38 +0200
committer Patrick McHardy <[email-masked]> Sat, 31 Mar 2007 16:14:38 +0200

 tc/m_ipt.c |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/tc/m_ipt.c b/tc/m_ipt.c
index 38d2311..76fa768 100644
--- a/tc/m_ipt.c
+++ b/tc/m_ipt.c
@@ -506,6 +506,10 @@ print_ipt(struct action_util *au,FILE * f, struct rtattr *arg)
 	if (arg == NULL)
 		return -1;
 
+	lib_dir = getenv("IPTABLES_LIB_DIR");
+	if (!lib_dir)
+		lib_dir = IPT_LIB_DIR;
+
 	parse_rtattr_nested(tb, TCA_IPT_MAX, arg);
 
 	if (tb[TCA_IPT_TABLE] == NULL) {