You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Expressions with multiple -user predicates are broken or incompatible with GNU find #155
I'm very sorry about this bug, and I'm sorry I didn't see it until now! I somehow missed the initial GitHub notification.
This is a horrible bug that's been around since bfs 2.0, almost 5 years ago. It's caused by the optimizer assuming that
If -user operator is true, -nouser is false (correct)
If -user operator is false, -nouser is true (INCORRECT!)
This leads to the invalid removal of -user smb, because the optimizer thinks it can't be true at the same time as -nouser (which is a valid optimization, but -nouser was wrongly inferred). A similar bug exists for -group and -nogroup.
This bug is fixed in bfs 4.0.8 (release in progress). You can work around it in older versions with
Activity
tavianator commentedon Jun 20, 2025
I'm very sorry about this bug, and I'm sorry I didn't see it until now! I somehow missed the initial GitHub notification.
This is a horrible bug that's been around since bfs 2.0, almost 5 years ago. It's caused by the optimizer assuming that
-user operatoris true,-nouseris false (correct)-user operatoris false,-nouseris true (INCORRECT!)This leads to the invalid removal of
-user smb, because the optimizer thinks it can't be true at the same time as-nouser(which is a valid optimization, but-nouserwas wrongly inferred). A similar bug exists for-groupand-nogroup.This bug is fixed in bfs 4.0.8 (release in progress). You can work around it in older versions with
to disable the optimizer.
-O1works too. It's broken at-O2and above.Thank you very much for the report!
opt: "Not me" doesn't imply "nobody"