[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: One more warning about using an uninitialized field
From: |
Eli Zaretskii |
Subject: |
Re: One more warning about using an uninitialized field |
Date: |
Thu, 23 Jan 2014 18:20:45 +0200 |
> Date: Thu, 23 Jan 2014 13:08:18 +0400
> From: Dmitry Antipov <address@hidden>
> CC: Emacs development discussions <address@hidden>
>
> One more warning about using an uninitialized field, now BIDI-related:
>
> ==11279== Conditional jump or move depends on uninitialised value(s)
> ==11279== at 0x443145: compute_display_string_pos (xdisp.c:3582)
> ==11279== by 0x500D93: bidi_fetch_char (bidi.c:953)
> ==11279== by 0x501FF9: bidi_paragraph_init (bidi.c:1299)
> ==11279== by 0x47AEAE: Fcurrent_bidi_paragraph_direction (xdisp.c:20419)
>
> From xdisp.c:
>
> 3579 if (charpos >= eob
> 3580 /* We don't support display properties whose values are strings
> 3581 that have display string properties. */
> ! 3582 || string->from_disp_str
> 3583 /* C strings cannot have display properties. */
> 3584 || (string->s && !STRINGP (object)))
> 3585 {
> 3586 *disp_prop = 0;
> 3587 return eob;
> 3588 }
>
> I don't know how critical it may be, but please consider the following
> precaution:
>
> === modified file 'src/xdisp.c'
> --- src/xdisp.c 2014-01-13 11:30:30 +0000
> +++ src/xdisp.c 2014-01-23 08:53:41 +0000
> @@ -6409,6 +6409,7 @@
> it->bidi_it.string.s = NULL;
> it->bidi_it.string.lstring = Qnil;
> it->bidi_it.string.bufpos = 0;
> + it->bidi_it.string.from_disp_str = 0;
> it->bidi_it.string.unibyte = 0;
> it->bidi_it.w = it->w;
> }
> @@ -20411,6 +20412,7 @@
> itb.string.s = NULL;
> itb.string.lstring = Qnil;
> itb.string.bufpos = 0;
> + itb.string.from_disp_str = 0;
> itb.string.unibyte = 0;
> /* We have no window to use here for ignoring window-specific
> overlays. Using NULL for window pointer will cause
Thanks, please install these.