"Elijah Newren via GitGitGadget" <gitgitgadget@xxxxxxxxx> writes: > Changes since v1 (thanks to Jonathan Tan for the careful reviews!) > > * Clear o->pl when freeing pl, to avoid risking use-after-free. > * Initialize o->result in update_sparsity() since it is actually used (by > check_ok_to_remove()). > > Some time ago, I noticed that struct dir_struct and struct > unpack_trees_options both have numerous fields meant for internal use only, > most of which are not marked as such. This has resulted in callers > accidentally trying to initialize some of these fields, and in at least one > case required a fair amount of review to verify other changes were okay -- > review that would have been simplified with the apriori knowledge that a > combination of multiple fields were internal-only[1]. Looking closer, I > found that only 6 out of 18 fields in dir_struct were actually meant to be > public[2], and noted that unpack_trees_options also had 11 internal-only > fields (out of 36). Nice. Will queue. Thanks.