ls in bb

Denys Vlasenko vda.linux at googlemail.com
Mon Sep 16 21:26:34 UTC 2013


On Monday 16 September 2013 12:03, Spiros Deftereos wrote:
> I mean the following bug and your reply to someone on the busybox thread.
> 
> https://bugs.busybox.net/show_bug.cgi?id=6020
> http://lists.busybox.net/pipermail/busybox/2010-January/071316.html
> 
> The options you suggested do not fix the problem.

The situation didn't change since my last comment in that bug:

"""
I need your help with debugging it further.

In ls.c, the usernames are printed by this code:

                        column += printf("%-8.8s %-8.8s ",
                                get_cached_username(dn->dn_uid),
                                get_cached_groupname(dn->dn_gid));

get_cached_username(uid), through several layers, calls getpwuid(uid).
Only if that fails (returns NULL) get_cached_username uses numeric uid.

If you have CONFIG_USE_BB_PWD_GRP=y, then it may be the reason, since IIRC
android doesn't use standard /etc/passwd file, and BB_PWD_GRP code assumes they
are in use. Turn CONFIG_USE_BB_PWD_GRP off.

If you _don_t_ have CONFIG_USE_BB_PWD_GRP=y, then please investigate with small
test program why getpwuid(uid) fails. (Say, why getpwuid(0) doesn't return
root's pw structure).
"""


You are saying that switching off CONFIG_USE_BB_PWD_GRP didn't help. Correct?

Then, please investigate with small test program why getpwuid(uid) fails.
Say, why getpwuid(0) doesn't return root's pw structure.

-- 
vda


More information about the busybox mailing list