On Sun, Mar 10, 2019 at 4:30 PM sushmaunnibhavi <sushmaunnibhavi425@xxxxxxxxx> wrote: > > From 5a6c233c6bf0a35aca000b32b9e936a34532900a Mon Sep 17 00:00:00 2001 > From: sushmaunnibhavi <sushmaunnibhavi@xxxxxxxxx> > Date: Sun, 10 Mar 2019 19:37:33 +0530 > Subject: [GSOC][PATCH] Fixed an issue which contained extra unnecessary code > Signed-off-by: Sushma Unnibhavi <sushmaunnibhavi425@xxxxxxxxx> > --- > Since '\n' and '\0' are char_len==1,it is not necessary to check if the char_len<=1. > compat/regex/regexec.c | 5 ----- > 1 file changed, 5 deletions(-) It doesn't look like the patch is formatted correctly. I think that the explanation line ("Since '\n' and '\0' are...") should be above the line that contains your "Signed-off-by: ..." and there should be a blank line between those two lines. Also we ask for an author name in the "From: ..." header that looks like "Firstname Lastname". A simple way to do that would be to make it match the name in your "Signed-off-by: ...". > diff --git a/compat/regex/regexec.c b/compat/regex/regexec.c > index 1b5d89fd5e..df62597531 100644 > --- a/compat/regex/regexec.c > +++ b/compat/regex/regexec.c > @@ -3799,11 +3799,6 @@ check_node_accept_bytes (const re_dfa_t *dfa, int node_idx, > char_len = re_string_char_size_at (input, str_idx); > if (node->type == OP_PERIOD) > { > - if (char_len <= 1) > - return 0; > - /* FIXME: I don't think this if is needed, as both '\n' > - and '\0' are char_len == 1. */ > - /* '.' accepts any one character except the following two cases. */ > if ((!(dfa->syntax & RE_DOT_NEWLINE) && > re_string_byte_at (input, str_idx) == '\n') || > ((dfa->syntax & RE_DOT_NOT_NULL) && The code looks like: char_len = re_string_char_size_at (input, str_idx); if (node->type == OP_PERIOD) { if (char_len <= 1) return 0; /* FIXME: I don't think this if is needed, as both '\n' and '\0' are char_len == 1. */ /* '.' accepts any one character except the following two cases. */ if ((!(dfa->syntax & RE_DOT_NEWLINE) && re_string_byte_at (input, str_idx) == '\n') || ((dfa->syntax & RE_DOT_NOT_NULL) && re_string_byte_at (input, str_idx) == '\0')) return 0; return char_len; } If the byte at re_string_byte_at (input, str_idx) is indeed '\n' or '\0', then yeah probably char_len == 1 so the current code should return 0 just before the code below the FIXME comment is reached. So in this case the 2 checks below the FIXME comment are useless because they check re_string_byte_at (input, str_idx) == '\n') and re_string_byte_at (input, str_idx) == '\0' which cannot happen. So I would say that the right fix would be to remove those 2 checks, not to remove the if (char_len <= 1) check above the FIXME comment. Also note that I used "probably" when I wrote "then yeah probably char_len == 1", because I think it is worth checking what re_string_char_size_at() actually does before being too much confident...