Bug 6458

Summary: crond not working on android due using DEFAULT_SHELL
Product: Busybox Reporter: me_a_user
Component: OtherAssignee: unassigned
Status: RESOLVED FIXED    
Severity: major CC: busybox-cvs, me_a_user
Priority: P5    
Version: 1.21.x   
Target Milestone: ---   
Hardware: All   
OS: Linux   
Host: Target:
Build:

Description me_a_user 2013-08-16 10:05:14 UTC
crond is always using DEFAULT_SHELL to execute a scheduled job. Though this is set to /bin/sh which does not exsist on android.

I saw a discussion on a similar topic dated back to 2011. There it was mentioned that on android the system reports the default shell for a user correctly to /system/bin/sh even if there is no passwd file (which usually is the case on android).

At least there should be a way to configure crond maybe what shell to use?
Comment 1 Denys Vlasenko 2017-07-21 23:48:46 UTC
Fixed in git:

       /* $SHELL, or current UID's shell, or DEFAULT_SHELL */
       /* Useful on Android where DEFAULT_SHELL /bin/sh may not exist */
       G.default_shell = xstrdup(get_shell_name());