readline 6.2 supplied a default stdin for rl_instream if the
latter was NULL at the time rl_prep_terminal() was called. It
does not appear that similar protective measures have been
applied to rl_outstream. This leads to a crash under certain
circumstances.

in my uneducated opinion, it makes sense to apply the following
patch, but i'm sure there are many considerations of which i am
unaware. if this or something like it is *not* to be applied, it
would be nice to call out the need for rl_outstream in the
documentation (unless i missed it).

thanks!

--- rltty.c     2018-09-19 11:19:26.000000000 -0400
+++ rltty.c.new 2020-11-16 03:16:51.311626266 -0500
@@ -606,6 +606,10 @@
   _rl_block_sigint ();
 
   tty = rl_instream ? fileno (rl_instream) : fileno (stdin);
+  if (rl_outstream)
+    {
+      rl_outstream = stdout;
+    }
 
   if (get_tty_settings (tty, &tio) < 0)
     {

-- 
nick black -=- https://www.nick-black.com
to make an apple pie from scratch,
you need first invent a universe.

Attachment: signature.asc
Description: PGP signature

Reply via email to