File tree 1 file changed +9
-5
lines changed 1 file changed +9
-5
lines changed Original file line number Diff line number Diff line change @@ -2142,7 +2142,9 @@ static void free_array_item(struct ref_array_item *item)
2142
2142
{
2143
2143
free ((char * )item -> symref );
2144
2144
if (item -> value ) {
2145
- free ((char * )item -> value -> s );
2145
+ int i ;
2146
+ for (i = 0 ; i < used_atom_cnt ; i ++ )
2147
+ free ((char * )item -> value [i ].s );
2146
2148
free (item -> value );
2147
2149
}
2148
2150
free (item );
@@ -2153,14 +2155,16 @@ void ref_array_clear(struct ref_array *array)
2153
2155
{
2154
2156
int i ;
2155
2157
2156
- for (i = 0 ; i < used_atom_cnt ; i ++ )
2157
- free ((char * )used_atom [i ].name );
2158
- FREE_AND_NULL (used_atom );
2159
- used_atom_cnt = 0 ;
2160
2158
for (i = 0 ; i < array -> nr ; i ++ )
2161
2159
free_array_item (array -> items [i ]);
2162
2160
FREE_AND_NULL (array -> items );
2163
2161
array -> nr = array -> alloc = 0 ;
2162
+
2163
+ for (i = 0 ; i < used_atom_cnt ; i ++ )
2164
+ free ((char * )used_atom [i ].name );
2165
+ FREE_AND_NULL (used_atom );
2166
+ used_atom_cnt = 0 ;
2167
+
2164
2168
if (ref_to_worktree_map .worktrees ) {
2165
2169
hashmap_free (& (ref_to_worktree_map .map ), 1 );
2166
2170
free_worktrees (ref_to_worktree_map .worktrees );
You can’t perform that action at this time.
0 commit comments