[PATCH] libio: freopen of default streams crashes in old programs [BZ #24632]

Andreas Schwab schwab@suse.de
Wed Jun 12 12:44:00 GMT 2019


On Jun 03 2019, Florian Weimer <fweimer@redhat.com> wrote:

> 	[BZ #24632]
> 	* libio/libioP.h (_IO_JUMPS_FUNC_UPDATE): New macro.
> 	* libio/freopen.c (freopen): Use it.

Ok.

> diff --git a/libio/libioP.h b/libio/libioP.h
> index 66afaa8968..f17c6e68e4 100644
> --- a/libio/libioP.h
> +++ b/libio/libioP.h
> @@ -108,9 +108,14 @@
>    (IO_validate_vtable                                                   \
>     (*(struct _IO_jump_t **) ((void *) &_IO_JUMPS_FILE_plus (THIS)	\
>  			     + (THIS)->_vtable_offset)))
> +# define _IO_JUMPS_FUNC_UPDATE(THIS, VTABLE)				\
> +  (*(const struct _IO_jump_t **) ((void *) &_IO_JUMPS_FILE_plus (THIS)	\
> +			    + (THIS)->_vtable_offset) = (VTABLE))

Misaligned line.

Andreas.

-- 
Andreas Schwab, SUSE Labs, schwab@suse.de
GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE  1748 E4D4 88E3 0EEA B9D7
"And now for something completely different."



More information about the Libc-alpha mailing list