Storing flushes in the refs vector doesn't let us recognize when the
remote is empty, as we'd always introduce at least one element into
it. These flushes aren't necessary, so we can simply ignore them.
return -1;
}
- if (git_vector_insert(refs, pkt) < 0)
+ if (pkt->type != GIT_PKT_FLUSH && git_vector_insert(refs, pkt) < 0)
return -1;
- if (pkt->type == GIT_PKT_FLUSH)
+ if (pkt->type == GIT_PKT_FLUSH) {
flush++;
+ git_pkt_free(pkt);
+ }
} while (flush < flushes);
return flush;