<<< Date Index >>>     <<< Thread Index >>>

Re: Core when displaying non-ascii chars



Richard Todd <richardt@xxxxxxxxxxxx>:

> Looking around, I determined that convert_to_state() did not reset the
> length, *l, to 0 often enough.  (I never determined why this would
> be).  This caused the text in mutt_decode_quoted()'s 'decline'
> variable to overflow onto other local variables.  This left that same
> length variable, l, corrupted and looking VERY large.  Instant crash.

Since that kind of buffer overflow could happen on other systems but
there don't seem to be other reports about this, I would guess that
you have a buggy version of iconv, but it is not impossible that you
have a different but equally correct iconv and mutt is at fault.

If you want to investigate this further, you could try using gdb to
set a watch point on *l, or putting a wrapper round iconv that checks
the values going in and out or prints a log. The former approach might
be quick to do, if it works, and it might tell you exactly where *l
becomes huge.

Edmund