> > And if SHELL is not set, st before this patch segfault. > > Actually, this is a simple check to just use »/bin/sh«. Which environ‐ > ment today does not have SHELL set?
The code set SHELL only if is not set (3rd parameter of setenv). SHELL can be unset if a ugly user unset it ;).