https://bugs.exim.org/show_bug.cgi?id=2177
Bug ID: 2177 Summary: fails in recursive mode for filenames >= 129 chars Product: PCRE Version: 10.30 (PCRE2) Hardware: x86-64 OS: Linux Status: NEW Severity: bug Priority: medium Component: Code Assignee: p...@hermes.cam.ac.uk Reporter: glyphi...@gmail.com CC: pcre-dev@exim.org Hello, The affected software is pcregrep (8.41) and pcre2grep (10.30) on Linux (Gentoo). Ran into this issue grepping through text files in a directory hierarchy. Had been using GNU grep, but it couldn't handle some patterns, so discovered pcregrep and started using that. But in recursive mode, pcregrep fails for files w/ long-ish names -- filenames 129 chars long or longer. Run these commands to reproduce: -- mkdir test cd test echo "filename is 128 chars long" > "128 - 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567.txt" echo "filename is 129 chars long" > "129 - 01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678.txt" pcre2grep chars * pcre2grep -r chars . -- The 2nd-to-last command, with no recursion, works fine and prints: 128 - 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567.txt:filename is 128 chars long 129 - 01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678.txt:filename is 129 chars long However, the last command, with recursion, prints: pcre2grep: Failed to open ./129 - 01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678.tx: No such file or directory ./128 - 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567.txt:filename is 128 chars long It chokes on the 129-char filename. Note the error message: "Failed to open ./129 - 0...8.tx: No such file or directory It only prints the 1st 128 chars of the filename (ends with ".tx" instead of ".txt"), suggesting it's a buffer issue. Presumably pcregrep should be able to handle filenames at least up to the ext2/3/4 length limit of 255 bytes. Thanks. -- You are receiving this mail because: You are on the CC list for the bug. -- ## List details at https://lists.exim.org/mailman/listinfo/pcre-dev