← Commit list

9adafbc11

Denys Vlasenko
Denys Vlasenko
2024-12-13
SUCCESS Duration: 158s

Subject

cut: prevent infinite loop if -F REGEX matches empty delimiter

Binary

No binary (build failed)

Architecture & Compiler Flags

Architecture: x86_64-linux-gnu Compiler: gcc (Ubuntu 11.4.0-1ubuntu1~22.04.3) 11.4.0

—

Build Log

(log yok)

Commit Diff GitHub →

coreutils/cut.c+3 -1
@@ -228,7 +228,9 @@ static void cut_file(FILE *file, const char *delim, const char *odelim,
continue;
}
end = next + rr.rm_so;
- next += rr.rm_eo;
+ next += (rr.rm_eo ? rr.rm_eo : 1);
+ /* ^^^ advancing by at least 1 prevents infinite loops */
+ /* testcase: echo "no at sign" | cut -d'@*' -F 1- */
} else
#endif
{