diff options
-rw-r--r-- | networking/route.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/networking/route.c b/networking/route.c index 9e7a01034..5c092f452 100644 --- a/networking/route.c +++ b/networking/route.c @@ -15,7 +15,7 @@ * Foundation; either version 2 of the License, or (at * your option) any later version. * - * $Id: route.c,v 1.25 2004/03/15 08:28:49 andersen Exp $ + * $Id: route.c,v 1.26 2004/03/19 23:27:08 mjn3 Exp $ * * displayroute() code added by Vladimir N. Oleynik <dzo@simtreas.ru> * adjustments by Larry Doolittle <LRDoolittle@lbl.gov> @@ -282,7 +282,8 @@ static void INET_setroute(int action, char **args) /* Device is special in that it can be the last arg specified * and doesn't requre the dev/device keyword in that case. */ if (!rt.rt_dev && ((k == KW_IPVx_DEVICE) || (!k && !*++args))) { - rt.rt_dev = (char *) args_m1; + /* Don't use args_m1 here since args may have changed! */ + rt.rt_dev = args[-1]; continue; } @@ -407,7 +408,8 @@ static void INET6_setroute(int action, char **args) /* Device is special in that it can be the last arg specified * and doesn't requre the dev/device keyword in that case. */ if (!devname && ((k == KW_IPVx_DEVICE) || (!k && !*++args))) { - devname = args_m1; + /* Don't use args_m1 here since args may have changed! */ + devname = args[-1]; continue; } |