diff options
-rw-r--r-- | src/search.c | 2 | ||||
-rw-r--r-- | tests/testsuite.at | 5 |
2 files changed, 6 insertions, 1 deletions
diff --git a/src/search.c b/src/search.c index 14a8540..0dea20c 100644 --- a/src/search.c +++ b/src/search.c @@ -271,7 +271,7 @@ teco_class2regexp(teco_search_state_t *state, teco_string_t *pattern, pattern->data += len; pattern->len -= len; *state = TECO_SEARCH_STATE_START; - return g_regex_escape_string(str.data, str.len); + return g_regex_escape_string(str.data ? : "", str.len); } break; } diff --git a/tests/testsuite.at b/tests/testsuite.at index edf2d3f..3ed4df8 100644 --- a/tests/testsuite.at +++ b/tests/testsuite.at @@ -177,6 +177,11 @@ AT_CHECK([$SCITECO -e ":@S/foo/\"S(0/0)'"], 0, ignore, ignore) AT_CHECK([$SCITECO -e ":@N/foo/\"S(0/0)'"], 0, ignore, ignore) AT_CLEANUP +AT_SETUP([Search for one of characters in uninitialized Q-Register]) +# Register "a" exists, but it's string part is yet uninitialized. +AT_CHECK([$SCITECO -e ":@S/^EGa/\"S(0/0)'"], 0, ignore, ignore) +AT_CLEANUP + AT_SETUP([Memory limiting during spawning]) # This might result in an OOM if memory limiting is not working AT_CHECK([$SCITECO -e "50*1000*1000,2EJ 0,128ED @EC'dd if=/dev/zero'"], 1, ignore, ignore) |