Jacob Keller <jacob.e.keller@xxxxxxxxx> writes: > We initialize branch->merge with set_merge() which is called by > branch_get() and which is the only way for callers external to remote.c > of getting a branch structure. > > The issue is that merge_nr can be non-zero because if no caller has done > a branch_get() on the given branch, we still have merge_nr is non-zero > and merge is NULL. Meaning merge_nr and merge are both uninitialized and unlikely to be 0 and NULL? What values do they have, and if they are left uninitialized, shouldn't we be initializing them to predictable values?