From: Martin Willi Date: Thu, 17 Oct 2013 14:23:43 +0000 (+0200) Subject: windows: Provide a strdup variant safe when passing zero-length strings X-Git-Tag: 5.2.0dr6~24^2~106 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a506b922f32bc925a9aaeda88c39eba16141211e;p=thirdparty%2Fstrongswan.git windows: Provide a strdup variant safe when passing zero-length strings --- diff --git a/src/libstrongswan/utils/windows.h b/src/libstrongswan/utils/windows.h index 8c009cabbf..90c92fd60a 100644 --- a/src/libstrongswan/utils/windows.h +++ b/src/libstrongswan/utils/windows.h @@ -67,6 +67,21 @@ static inline void srandom(unsigned int seed) srand(seed); } +/** + * strdup(3), the Windows variant can't free(strdup("")) and others + */ +#define strdup strdup_windows +static inline char* strdup_windows(const char *src) +{ + size_t len; + char *dst; + + len = strlen(src) + 1; + dst = malloc(len); + memcpy(dst, src, len); + return dst; +} + /** * Provided via ws2_32 */