diff options
Diffstat (limited to 'unmaintained/xf86-video-virtualbox/uclibc-spawn.patch')
-rw-r--r-- | unmaintained/xf86-video-virtualbox/uclibc-spawn.patch | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/unmaintained/xf86-video-virtualbox/uclibc-spawn.patch b/unmaintained/xf86-video-virtualbox/uclibc-spawn.patch new file mode 100644 index 0000000000..98b4e8ad6e --- /dev/null +++ b/unmaintained/xf86-video-virtualbox/uclibc-spawn.patch @@ -0,0 +1,26 @@ +--- ./src/VBox/Runtime/r3/posix/process-creation-posix.cpp.orig ++++ ./src/VBox/Runtime/r3/posix/process-creation-posix.cpp +@@ -48,6 +48,9 @@ + * whether it is started detached or not. */ + # define HAVE_POSIX_SPAWN 1 + #endif ++#if defined(__UCLIBC__) ++#undef HAVE_POSIX_SPAWN ++#endif + #ifdef HAVE_POSIX_SPAWN + # include <spawn.h> + #endif +@@ -103,11 +106,9 @@ + if (spwd) + pw->pw_passwd = spwd->sp_pwdp; + +- /* be reentrant */ +- struct crypt_data *data = (struct crypt_data*)RTMemTmpAllocZ(sizeof(*data)); +- char *pszEncPasswd = crypt_r(pszPasswd, pw->pw_passwd, data); ++ /* NOT reentrant */ ++ char *pszEncPasswd = crypt(pszPasswd, pw->pw_passwd); + int fCorrect = !strcmp(pszEncPasswd, pw->pw_passwd); +- RTMemTmpFree(data); + if (!fCorrect) + return VERR_PERMISSION_DENIED; + |