[MPlayer-dev-eng] [PATCH] Libass BOM fix
Evgeniy Stepanov
eugeni.stepanov at gmail.com
Sat Oct 27 16:40:05 CEST 2007
On Saturday 27 October 2007 18:01:29 Ulion wrote:
> Hello,
>
> A memory leak bug found in sub_recode, my fix is here:
>
> Index: libass/ass.c
> ===================================================================
> --- libass/ass.c (revision 24859)
> +++ libass/ass.c (working copy)
> @@ -804,12 +804,14 @@
> assert(codepage);
>
> {
> - char* cp_tmp = codepage ? strdup(codepage) : 0;
> + char* cp_tmp = codepage;
> #ifdef HAVE_ENCA
> + int free_cp_tmp = 0;
> char enca_lang[3], enca_fallback[100];
> if (sscanf(codepage, "enca:%2s:%99s", enca_lang,
> enca_fallback) == 2
>
> || sscanf(codepage, "ENCA:%2s:%99s",
>
> enca_lang, enca_fallback) == 2) {
> cp_tmp = guess_buffer_cp((unsigned char*)data,
> size, enca_lang, enca_fallback);
> + free_cp_tmp = 1;
> }
> #endif
> if ((icdsc = iconv_open (tocp, cp_tmp)) != (iconv_t)(-1)){
> @@ -817,7 +819,7 @@
> } else
>
> mp_msg(MSGT_ASS,MSGL_ERR,MSGTR_LIBASS_ErrorOpeningIconvDescriptor);
> #ifdef HAVE_ENCA
> - if (cp_tmp) free(cp_tmp);
> + if (free_cp_tmp) free(cp_tmp);
> #endif
> }
Seems ok, you can apply it
More information about the MPlayer-dev-eng
mailing list