Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

grep: fix logic for empty patterns #826

Merged
merged 1 commit into from
Nov 19, 2024
Merged

Conversation

mknos
Copy link
Contributor

@mknos mknos commented Nov 19, 2024

  • Checking length of $pattern is unreliable because it is valid for a pattern to have zero-length (meaning match-all)
  • I found this when testing the -f option but the logic applies to other usages of grep
%md5sum a.c
c9fd7ff4cb5b01981a2a362f82f44c89  a.c
%perl grep -F '' a.c | md5sum 
c9fd7ff4cb5b01981a2a362f82f44c89  -
%printf "\n" > pat0 && perl grep -f pat0 a.c | md5sum
c9fd7ff4cb5b01981a2a362f82f44c89  -
%perl grep -e '' a.c | md5sum 
c9fd7ff4cb5b01981a2a362f82f44c89  -

* Checking length of $pattern is unreliable because it is valid for a pattern to have zero-length (meaning match-all)
* I found this when testing the -f option but the logic applies to other usages of grep

%md5sum a.c
c9fd7ff4cb5b01981a2a362f82f44c89  a.c
%perl grep -F '' a.c | md5sum 
c9fd7ff4cb5b01981a2a362f82f44c89  -
%printf "\n" > pat0 && perl grep -f pat0 a.c | md5sum 
c9fd7ff4cb5b01981a2a362f82f44c89  -
%perl grep -e '' a.c | md5sum 
c9fd7ff4cb5b01981a2a362f82f44c89  -
@github-actions github-actions bot added the Type: enhancement improve a feature that already exists label Nov 19, 2024
@github-actions github-actions bot added Priority: low get to this whenever Program: grep The grep program labels Nov 19, 2024
@coveralls
Copy link

coveralls commented Nov 19, 2024

Pull Request Test Coverage Report for Build 11914073920

Details

  • 0 of 0 changed or added relevant lines in 0 files are covered.
  • No unchanged relevant lines lost coverage.
  • Overall coverage remained the same at 73.069%

Totals Coverage Status
Change from base Build 11910111793: 0.0%
Covered Lines: 350
Relevant Lines: 479

💛 - Coveralls

@briandfoy briandfoy self-assigned this Nov 19, 2024
@briandfoy briandfoy merged commit 36ffa5f into briandfoy:master Nov 19, 2024
23 checks passed
@briandfoy briandfoy added the Status: accepted The fix is accepted label Nov 21, 2024
@briandfoy briandfoy removed the Priority: low get to this whenever label Nov 21, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Program: grep The grep program Status: accepted The fix is accepted Type: enhancement improve a feature that already exists
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants