diff --git a/src/goodbyedpi.c b/src/goodbyedpi.c index 0da5f38..6983282 100644 --- a/src/goodbyedpi.c +++ b/src/goodbyedpi.c @@ -813,15 +813,17 @@ int main(int argc, char *argv[]) { char *autottl_copy = strdup(optarg); if (strchr(autottl_copy, '-')) { // token "-" found, start X-Y parser - char *autottl_current = strtok(autottl_copy, "-"); + char *autottl_current; + char *saveptr; // declare a pointer to store the state of strtok_r + autottl_current = strtok_r(autottl_copy, "-", &saveptr); // use strtok_r instead of strtok auto_ttl_1 = atoub(autottl_current, "Set Auto TTL parameter error!"); - autottl_current = strtok(NULL, "-"); + autottl_current = strtok_r(NULL, "-", &saveptr); // use strtok_r instead of strtok if (!autottl_current) { puts("Set Auto TTL parameter error!"); exit(EXIT_FAILURE); } auto_ttl_2 = atoub(autottl_current, "Set Auto TTL parameter error!"); - autottl_current = strtok(NULL, "-"); + autottl_current = strtok_r(NULL, "-", &saveptr); // use strtok_r instead of strtok if (!autottl_current) { puts("Set Auto TTL parameter error!"); exit(EXIT_FAILURE);