--- old/src/share/vm/runtime/os.hpp 2015-05-27 10:37:42.000000000 -0500 +++ new/src/share/vm/runtime/os.hpp 2015-05-27 10:37:42.000000000 -0500 @@ -164,6 +164,23 @@ // Override me as needed static int file_name_strcmp(const char* s1, const char* s2); + // A strlcat like API for safe string concatenation of 2 NULL limited C strings + // strlcat is not guranteed to exist on all platforms, so we implement our own + static void strlcat(char *dst, const char *src, size_t size) { + register char *_dst = dst; + register char *_src = (char *)src; + register int _size = (int)size; + + while ((_size-- != 0) && (*_dst != '\0')) { + _dst++; + } + while ((_size-- != 0) && (*_src != '\0')) { + *_dst = *_src; + _dst++; _src++; + } + *_dst = '\0'; + } + // unset environment variable static bool unsetenv(const char* name);