Callers shouldn't be passing disallowed flags into `ref_transaction_update()`. So instead of masking them off, treat it as a bug if any are set. Signed-off-by: Michael Haggerty <mhagger@xxxxxxxxxxxx> --- refs.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/refs.c b/refs.c index 62a7621025..7c1e206e08 100644 --- a/refs.c +++ b/refs.c @@ -940,7 +940,8 @@ int ref_transaction_update(struct ref_transaction *transaction, return -1; } - flags &= REF_TRANSACTION_UPDATE_ALLOWED_FLAGS; + if (flags & ~REF_TRANSACTION_UPDATE_ALLOWED_FLAGS) + BUG("illegal flags 0x%x passed to ref_transaction_update()", flags); flags |= (new_oid ? REF_HAVE_NEW : 0) | (old_oid ? REF_HAVE_OLD : 0); -- 2.14.1