From caff01877d4df5f25a983b3aa5e57dde6a16a62f Mon Sep 17 00:00:00 2001 From: akallabeth Date: Tue, 2 Jun 2020 14:41:37 +0200 Subject: [PATCH] Fixed fallback to getlogin for android --- channels/rdpdr/client/rdpdr_main.c | 4 ++++ winpr/libwinpr/sspicli/sspicli.c | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/channels/rdpdr/client/rdpdr_main.c b/channels/rdpdr/client/rdpdr_main.c index 321439840..98f526d37 100644 --- a/channels/rdpdr/client/rdpdr_main.c +++ b/channels/rdpdr/client/rdpdr_main.c @@ -600,8 +600,12 @@ static BOOL isAutomountLocation(const char* path) uid_t uid = getuid(); char uname[MAX_PATH] = { 0 }; +#ifndef getlogin_r + strncpy(uname, getlogin(), sizeof(uname)); +#else if (getlogin_r(uname, sizeof(uname)) != 0) return FALSE; +#endif if (!path) return FALSE; diff --git a/winpr/libwinpr/sspicli/sspicli.c b/winpr/libwinpr/sspicli/sspicli.c index 220f1e1ba..671df6e98 100644 --- a/winpr/libwinpr/sspicli/sspicli.c +++ b/winpr/libwinpr/sspicli/sspicli.c @@ -206,8 +206,12 @@ BOOL GetUserNameExA(EXTENDED_NAME_FORMAT NameFormat, LPSTR lpNameBuffer, PULONG switch (NameFormat) { case NameSamCompatible: +#ifndef getlogin_r + strncpy(login, getlogin(), sizeof(login)); +#else if (getlogin_r(login, sizeof(login)) != 0) return FALSE; +#endif length = strlen(login); if (*nSize >= length)