I haven't had a chance to look at the cocci script, but I did have one thought... Derrick pointed out, 14438c4 added both oideq and hasheq. It might be good to have a similar check for hasheq, if there is not one already. On Wed, Sep 9, 2020 at 9:01 AM Edmundo Carmona Antoranz <eantoranz@xxxxxxxxx> wrote: > > On Wed, Sep 9, 2020 at 3:11 AM Jeff King <peff@xxxxxxxx> wrote: > > > > Yeah, it looks obviously correct. I am puzzled why "make coccicheck" > > doesn't find this, though. +cc René, as my favorite target for > > coccinelle nerd-snipes. :) > > > > I added this to contrib/coccinelle/object_id.cocci in v2.27.0 > > @@ > identifier f != oideq; > expression E1, E2; > @@ > - !oidcmp(E1, E2) > + oideq(E1, E2) > > And it found it: > > $ cat contrib/coccinelle/object_id.cocci.patch > diff -u -p a/blame.c b/blame.c > --- a/blame.c > +++ b/blame.c > @@ -1352,8 +1352,7 @@ static struct blame_origin *find_origin( > else { > int compute_diff = 1; > if (origin->commit->parents && > - !oidcmp(&parent->object.oid, > - &origin->commit->parents->item->object.oid)) > + oideq(&parent->object.oid, > &origin->commit->parents->item->object.oid)) > compute_diff = maybe_changed_path(r, origin, bd); > > if (compute_diff) > > > Do I need to add more things into the coccinelle definition so that it > is more restrictive in terms of the > expression we are hunting down?