Many thanks for the patch, I'll upload a new mc packages ASAP !
Cheers,
Ludo.
Alexander Vodomerov wrote:
> Package: mc
> Version: 1:4.6.0-4.6.1-pre3-2
> Severity: normal
> Tags: patch
>
>
> Thank you for enabling charset encoding, it's great!
> However, small bug causes invalid iconv(3) usage and causes mc segfault
> inside glibc. It is a result of wrong iconv outbuf parameter: it points
> to buffer, but it should really point to pointer to buffer (char **
> instead of char*).
>
> The attached patch fixes the problem (at least for me).
>
> -- System Information:
> Debian Release: 3.1
> APT prefers unstable
> APT policy: (500, 'unstable')
> Architecture: i386 (i686)
> Kernel: Linux 2.6.11.8
> Locale: LANG=ru_RU.KOI8-R, LC_CTYPE=ru_RU.KOI8-R (charmap=KOI8-R)
>
> Versions of packages mc depends on:
> ii libc6 2.3.2.ds1-21 GNU C Library: Shared libraries
> an
> ii libglib2.0-0 2.6.4-1 The GLib library of C routines
> ii libgpmg1 1.19.6-20 General Purpose Mouse - shared
> lib
>
> -- no debconf information
>
>
> ------------------------------------------------------------------------
>
> --- mc-4.6.0-4.6.1-pre3/src/charsets.c.orig 2005-05-09 12:07:42.000000000
> +0400
> +++ mc-4.6.0-4.6.1-pre3/src/charsets.c 2005-05-09 12:07:30.000000000
> +0400
> @@ -143,13 +143,15 @@
> translate_character (iconv_t cd, char c)
> {
> char obuf[4];
> + char *obufptr;
> size_t ibuflen, obuflen, count;
>
> ICONV_CONST char *ibuf = &c;
> ibuflen = 1;
> obuflen = sizeof(obuf);
>
> - count = iconv (cd, &ibuf, &ibuflen, (char **)&obuf, &obuflen);
> + obufptr = obuf;
> + count = iconv (cd, &ibuf, &ibuflen, (char **)&obufptr, &obuflen);
> if (count != (size_t)(-1) && ibuflen == 0)
> return obuf[0];
>
--
Ludovic Drolez.
http://www.palmopensource.com - The PalmOS Open Source Portal
http://www.drolez.com - Personal site - Linux and PalmOS stuff
--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]