From: Fredrik Fornwall Date: Sat, 12 Mar 2016 20:40:05 +0000 (-0500) Subject: Set pw_gecos to "" on 64-bit X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~mdw/git/termux-packages/commitdiff_plain/cb9e3a9ac9034d85f5cc4a04ec550c795fd1ffc5?ds=inline Set pw_gecos to "" on 64-bit The pw_getcos field on struct passwd is defined on 64-bit builds but is NULL which programs does not handle (at least no openssh which crashes). Initialize this field to "" to avoid this. --- diff --git a/ndk_patches/pwd.patch b/ndk_patches/pwd.patch index c35e60cc..1447c38e 100644 --- a/ndk_patches/pwd.patch +++ b/ndk_patches/pwd.patch @@ -12,7 +12,7 @@ diff -u -r /home/fornwall/lib/android-ndk/platforms/android-21/arch-arm/usr/incl #define _PATH_PASSWD "/etc/passwd" #define _PATH_MASTERPASSWD "/etc/master.passwd" #define _PATH_MASTERPASSWD_LOCK "/etc/ptmp" -@@ -119,7 +123,37 @@ +@@ -119,7 +123,40 @@ int getpwnam_r(const char*, struct passwd*, char*, size_t, struct passwd**); int getpwuid_r(uid_t, struct passwd*, char*, size_t, struct passwd**); @@ -29,6 +29,9 @@ diff -u -r /home/fornwall/lib/android-ndk/platforms/android-21/arch-arm/usr/incl + } + pw->pw_dir = "@TERMUX_HOME@"; + pw->pw_passwd = "*"; ++#ifdef __LP64__ ++ pw->pw_gecos = ""; /* Avoid NULL field. */ ++#endif +} + +static struct passwd* android_polyfill_getpwuid(uid_t t) {