ref_transaction_update(): die on disallowed flags

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@alum.mit.edu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Michael Haggerty 2017-11-05 09:42:03 +01:00 committed by Junio C Hamano
parent b00f3cfa92
commit a9bbbcec0d

3
refs.c
View File

@ -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);