Merge branch 'jc/remote-insteadof-leakfix'

rewrites_release() in 'remote.c' has been updated to free 'struct
rewrite' instances, their '.instead_of' arrays, and their contents.

* jc/remote-insteadof-leakfix:
  remote: plug memory leaks
This commit is contained in:
Junio C Hamano
2026-08-03 09:31:29 -07:00

View File

@@ -309,8 +309,15 @@ static struct rewrite *make_rewrite(struct rewrites *r,
static void rewrites_release(struct rewrites *r)
{
for (int i = 0; i < r->rewrite_nr; i++)
free((char *)r->rewrite[i]->base);
for (int i = 0; i < r->rewrite_nr; i++) {
struct rewrite *rewrite = r->rewrite[i];
free((char *)rewrite->base);
for (int j = 0; j < rewrite->instead_of_nr; j++)
free((char *)rewrite->instead_of[j].s);
free(rewrite->instead_of);
free(rewrite);
}
free(r->rewrite);
memset(r, 0, sizeof(*r));
}