From e9a23cb00bf223ed45557a15070b05c7b77c4bd5 Mon Sep 17 00:00:00 2001 From: Assar Westerlund Date: Sat, 30 Jan 1999 15:54:55 +0000 Subject: [PATCH] (parse_ports): copy the string before mishandling it with strtok_r git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@5288 ec53bebd-3082-4978-b11e-865c3cabbd6b --- kdc/connect.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/kdc/connect.c b/kdc/connect.c index 7003d7d61..6a1faa48c 100644 --- a/kdc/connect.c +++ b/kdc/connect.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 1998 Kungliga Tekniska Högskolan + * Copyright (c) 1997, 1998, 1999 Kungliga Tekniska Högskolan * (Royal Institute of Technology, Stockholm, Sweden). * All rights reserved. * @@ -102,12 +102,14 @@ add_standard_ports (int family) } static void -parse_ports(char *str) +parse_ports(const char *str) { char *pos = NULL; char *p; - p = strtok_r(str, " \t", &pos); - while(p){ + char *str_copy = strdup (str); + + p = strtok_r(str_copy, " \t", &pos); + while(p != NULL) { if(strcmp(p, "+") == 0) { #ifdef HAVE_IPV6 add_standard_ports(AF_INET6); @@ -136,6 +138,7 @@ parse_ports(char *str) p = strtok_r(NULL, " \t", &pos); } + free (str_copy); } struct descr {