From 723f2f7b2aed8ee06f081575bd888751f556b5d7 Mon Sep 17 00:00:00 2001 From: "Bruce A. Mah" Date: Tue, 21 Jan 2014 12:59:47 -0800 Subject: [PATCH] Fix an abort observed on MacOS X 10.9 (but applicable to other platforms). mapped_v4_to_regular_v4() committed the sin of doing strcpy(3) on overlapping buffers. This caused an abort on MacOS X 10.9. Fix this to use memcpy(3) instead, which handles overlapping buffers correctly. Issue: 135 (Crash on OS X when using IP address) --- src/iperf_api.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/iperf_api.c b/src/iperf_api.c index aa9c0ed..7e51d8c 100644 --- a/src/iperf_api.c +++ b/src/iperf_api.c @@ -418,8 +418,10 @@ mapped_v4_to_regular_v4(char *str) int prefix_len; prefix_len = strlen(prefix); - if (strncmp(str, prefix, prefix_len) == 0) - strcpy(str, str+prefix_len); + if (strncmp(str, prefix, prefix_len) == 0) { + int str_len = strlen(str); + memmove(str, str + prefix_len, str_len - prefix_len + 1); + } } void