diff options
Diffstat (limited to 'extensions/libip6t_rt.c')
-rw-r--r-- | extensions/libip6t_rt.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/extensions/libip6t_rt.c b/extensions/libip6t_rt.c index 3cb3b249..9708b5a0 100644 --- a/extensions/libip6t_rt.c +++ b/extensions/libip6t_rt.c @@ -73,10 +73,9 @@ parse_addresses(const char *addrstr, struct in6_addr *addrp) { char *buffer, *cp, *next; unsigned int i; - - buffer = strdup(addrstr); - if (!buffer) xtables_error(OTHER_PROBLEM, "strdup failed"); - + + buffer = xtables_strdup(addrstr); + for (cp=buffer, i=0; cp && i<IP6T_RT_HOPS; cp=next,i++) { next=strchr(cp, ','); |