[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Extended regex match (shmatch.c:115) malloc error
From: |
Gyorgy Matyasfalvi |
Subject: |
Extended regex match (shmatch.c:115) malloc error |
Date: |
Mon, 9 Aug 2021 13:08:32 -0400 |
Hello,
Would like to report the following:
###########################################################################
Configuration Information [Automatically generated, do not change]:
Machine: ia64
OS: hpux11.31
Compiler: cc
Compilation CFLAGS: -O -I/usr/local/include -D_XOPEN_SOURCE_EXTENDED +DD64
uname output: HP-UX sovmh352 B.11.31 U ia64 1429105484 unlimited-user
license
Machine Type: ia64-hp-hpux11.31
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)
----------------------------------------------------------------------------------
On the other hand the code below works as expected:
----------------------------------------------------------------------------------
#!/usr/bin/env bash
text="123 text!"
if [[ "$text" =~ "zzz" ]]; then
printf "'zzz' in '$text'\n"
else
printf "'zzz' not in '$text'\n"
fi
----------------------------------------------------------------------------------
You will receive:
----------------------------------------------------------------------------------
'zzz' not in '123 text!'
----------------------------------------------------------------------------------
Repeat-By:
fails.sh:
----------------------------------------------------------------------------------
text="123 text!"
if [[ "$text" =~ "123" ]]; then
printf "'123' in '$text'\n"
else
printf "'123' not in '$text'\n"
fi
----------------------------------------------------------------------------------
Then execute: bash fails.sh
###########################################################################
Let me know if you need anything else. Best wishes,
Gyorgy
- Extended regex match (shmatch.c:115) malloc error,
Gyorgy Matyasfalvi <=