On Mon, 9 Aug 2021, Gyorgy Matyasfalvi wrote:

Bash Version: 5.1
Patch Level: 8
Release Status: release

Description:
       When a regex matches inside [[ ]] it results in a malloc error.
       Whereas if it doesn't you get expected behavior.

       Take the code below:
----------------------------------------------------------------------------------
       #!/usr/bin/env bash

       text="123 text!"
       if [[ "$text" =~ "123" ]]; then
               printf "'123' in '$text'\n"
       else
               printf "'123' not in '$text'\n"
       fi
----------------------------------------------------------------------------------
       You will receive:
----------------------------------------------------------------------------------
       malloc: shmatch.c:115: assertion botched
       free: start and end chunk sizes differ
       Aborting...ABORT instruction (core dumped)
----------------------------------------------------------------------------------

I get:

'123' in '123 text!'

(bash 5.1 in mate-terminal)

--
   Chris F.A. Johnson                         <http://cfajohnson.com/>
   =========================== Author: ===============================
   Shell Scripting Recipes: A Problem-Solution Approach (2005, Apress)
   Pro Bash Programming: Scripting the GNU/Linux shell (2009, Apress)

Reply via email to