On 3/1/11 10:13 AM, Allan McRae wrote:
> On 01/03/11 11:58, Chet Ramey wrote:
>> BASH PATCH REPORT
>> =================
>>
>> Bash-Release: 4.2
>> Patch-ID: bash42-005
>>
>> Bug-Reported-by: Dennis Williamson<[email protected]>
>> Bug-Reference-ID:
>> <[email protected]>
>> Bug-Reference-URL:
>> http://lists.gnu.org/archive/html/bug-bash/2011-02/msg00147.html
>>
>> Bug-Description:
>>
>> Systems that use tzset() to set the local timezone require the TZ variable
>> to be in the environment. Bash must make sure the environment has been
>> modified with any updated value for TZ before calling tzset(). This
>> affects prompt string expansions and the `%T' printf conversion
>> specification
>> on systems that do not allow bash to supply a replacement for getenv(3).
>>
>> Patch (apply with `patch -p0'):
>
>
> This patch just caused some havoc for Arch Linux testing repository users
> who found their systems no longer booted...
>
> Here is one our users findings on the issue:
>
> On 01/03/11 23:57, Evangelos Foutras wrote:
>> `unset TZ' is the simplest test case that causes a segmentation fault
>> on my system.
>>
>> The culprit appears to be the chkexport function introduced in patch
>> bash42-005 [1]. From the backtrace [2], I gather it should probably
>> check that find_variable returns a non-NULL value. Changing the line
>> after the find_variable call to read "if (v&& exported_p (v))" fixes
>> the issue for me.
Yep, that's the right fix.
--
``The lyf so short, the craft so long to lerne.'' - Chaucer
``Ars longa, vita brevis'' - Hippocrates
Chet Ramey, ITS, CWRU [email protected] http://cnswww.cns.cwru.edu/~chet/