[Patch] Improve the old fix for 11095
Benjamin Kosnik
bkoz@redhat.com
Fri Oct 10 15:14:00 GMT 2003
This use of __builtin_alloca is wrong...
if (__w > __len)
{
! __cs = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT)
! * __w));
! __pad<_CharT, _Traits>::_S_pad(__out, __out.fill(), __cs,
&__c, __w, __len, false);
__len = __w;
}
! __out._M_write(__cs, __len);
__cs is only valid in the scope of the if block, but is used outside of
it (in __out._M_write(__cs, __len).
-benjamin
More information about the Libstdc++
mailing list