I would expect `||` in place of the `&&` here - if either the user or the group is wrong, set both.
Why would it make sense to not fix the wrong uid, if the gid happens to be right (or vice versa) ?
In particular, if it's owned by (right) user root in (wrong) group guest, group access to all the details is probably a bad thing; if it's owned by (wrong) user intruder in (right) group admin, owner access is a problem !