diff options
author | laforge <laforge> | 2002-02-18 16:15:31 +0000 |
---|---|---|
committer | laforge <laforge> | 2002-02-18 16:15:31 +0000 |
commit | e4c5555a9411410d401720fd3fc250cb4164a630 (patch) | |
tree | d1fbdb5b9c00bf7d687fbb9b364d2f8d8fd77b99 | |
parent | 31741d350e9608c782fc8396e11c6da2de6d0069 (diff) |
add bugfix in case we are using a protocol number (-p N) which has no matching /etc/protocols entry
-rw-r--r-- | iptables.c | 11 |
1 files changed, 8 insertions, 3 deletions
@@ -689,10 +689,15 @@ find_proto(const char *pname, enum ipt_tryload tryload, int nolookup) { unsigned int proto; - if (string_to_number(pname, 0, 255, &proto) != -1) - return find_match(proto_to_name(proto, nolookup), tryload); + if (string_to_number(pname, 0, 255, &proto) != -1) { + char *protoname = proto_to_name(proto, nolookup); - return find_match(pname, tryload); + if (protoname) + return find_match(protoname, tryload); + } else + return find_match(pname, tryload); + + return NULL; } u_int16_t |