r779: fixed a memory leak in SE
This commit is contained in:
parent
a5ad0cff7f
commit
f00cc94e1d
10
bwamem.c
10
bwamem.c
|
|
@ -992,14 +992,14 @@ void mem_reg2sam_se(const mem_opt_t *opt, const bntseq_t *bns, const uint8_t *pa
|
||||||
} else {
|
} else {
|
||||||
for (k = 0; k < aa.n; ++k)
|
for (k = 0; k < aa.n; ++k)
|
||||||
mem_aln2sam(bns, &str, s, aa.n, aa.a, k, m, opt->flag&MEM_F_SOFTCLIP);
|
mem_aln2sam(bns, &str, s, aa.n, aa.a, k, m, opt->flag&MEM_F_SOFTCLIP);
|
||||||
for (k = 0; k < aa.n; ++k) {
|
for (k = 0; k < aa.n; ++k) free(aa.a[k].cigar);
|
||||||
free(aa.a[k].cigar);
|
|
||||||
free(aa.a[k].XA);
|
|
||||||
}
|
|
||||||
free(aa.a);
|
free(aa.a);
|
||||||
}
|
}
|
||||||
s->sam = str.s;
|
s->sam = str.s;
|
||||||
if (XA) free(XA);
|
if (XA) {
|
||||||
|
for (k = 0; k < a->n; ++k) free(XA[k]);
|
||||||
|
free(XA);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
mem_alnreg_v mem_align1_core(const mem_opt_t *opt, const bwt_t *bwt, const bntseq_t *bns, const uint8_t *pac, int l_seq, char *seq, void *buf)
|
mem_alnreg_v mem_align1_core(const mem_opt_t *opt, const bwt_t *bwt, const bntseq_t *bns, const uint8_t *pac, int l_seq, char *seq, void *buf)
|
||||||
|
|
|
||||||
|
|
@ -335,8 +335,7 @@ int mem_sam_pe(const mem_opt_t *opt, const bntseq_t *bns, const uint8_t *pac, co
|
||||||
// free XA
|
// free XA
|
||||||
for (i = 0; i < 2; ++i) {
|
for (i = 0; i < 2; ++i) {
|
||||||
if (XA[i]) {
|
if (XA[i]) {
|
||||||
for (j = 0; j < a[i].n; ++j)
|
for (j = 0; j < a[i].n; ++j) free(XA[i][j]);
|
||||||
free(XA[i][j]);
|
|
||||||
free(XA[i]);
|
free(XA[i]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue