This is an automated email from the git hooks/post-receive script. plessy pushed a commit to branch debian/unstable in repository samtools.
commit 4ce929664b2fbf912c7d47e4584e6b3924071cad Author: Lee Baker <[email protected]> Date: Sun Mar 10 17:29:52 2013 -0500 Fix type mismatches between types in sizeof() in malloc/calloc/realloc calls. This generates a warning in the clang analyzer, designed to catch incorrectly sized memory allocations. The allocation at bam_plcmd.c:208 is twice as big as it needs to be, and has been fixed. --- bam2bcf_indel.c | 2 +- bam2depth.c | 4 ++-- bam_import.c | 2 +- bam_index.c | 4 ++-- bam_lpileup.c | 2 +- bam_pileup.c | 4 ++-- bam_plcmd.c | 8 ++++---- bam_sort.c | 4 ++-- bamshuf.c | 4 ++-- bcftools/bcf.c | 2 +- bcftools/call1.c | 2 +- bcftools/prob1.c | 2 +- bedcov.c | 6 +++--- faidx.c | 2 +- kprobaln.c | 4 ++-- phase.c | 8 ++++---- razf.c | 4 ++-- sam.c | 2 +- sam_header.c | 2 +- sample.c | 2 +- 20 files changed, 35 insertions(+), 35 deletions(-) diff --git a/bam2bcf_indel.c b/bam2bcf_indel.c index 9aea5f9..8c657e4 100644 --- a/bam2bcf_indel.c +++ b/bam2bcf_indel.c @@ -220,7 +220,7 @@ int bcf_call_gap_prep(int n, int *n_plp, bam_pileup1_t **plp, int pos, bcf_calla int L = right - left + 1, max_i, max2_i; uint32_t *cns, max, max2; char *ref0, *r; - ref_sample = calloc(n, sizeof(void*)); + ref_sample = calloc(n, sizeof(char*)); cns = calloc(L, 4); ref0 = calloc(L, 1); for (i = 0; i < right - left; ++i) diff --git a/bam2depth.c b/bam2depth.c index 02311ef..6fd023a 100644 --- a/bam2depth.c +++ b/bam2depth.c @@ -84,7 +84,7 @@ int main_depth(int argc, char *argv[]) } else n = argc - optind; // the number of BAMs on the command line - data = calloc(n, sizeof(void*)); // data[i] for the i-th input + data = calloc(n, sizeof(aux_t*)); // data[i] for the i-th input beg = 0; end = 1<<30; tid = -1; // set the default region for (i = 0; i < n; ++i) { bam_header_t *htmp; @@ -107,7 +107,7 @@ int main_depth(int argc, char *argv[]) // the core multi-pileup loop mplp = bam_mplp_init(n, read_bam, (void**)data); // initialization n_plp = calloc(n, sizeof(int)); // n_plp[i] is the number of covering reads from the i-th BAM - plp = calloc(n, sizeof(void*)); // plp[i] points to the array of covering reads (internal in mplp) + plp = calloc(n, sizeof(bam_pileup1_t*)); // plp[i] points to the array of covering reads (internal in mplp) while (bam_mplp_auto(mplp, &tid, &pos, n_plp, plp) > 0) { // come to the next covered position if (pos < beg || pos >= end) continue; // out of range; skip if (bed && bed_overlap(bed, h->target_name[tid], pos, pos + 1) == 0) continue; // not in BED; skip diff --git a/bam_import.c b/bam_import.c index da2bf94..38c8238 100644 --- a/bam_import.c +++ b/bam_import.c @@ -201,7 +201,7 @@ int sam_header_parse(bam_header_t *h) if (h->dict == 0) h->dict = sam_header_parse2(h->text); tmp = sam_header2list(h->dict, "SQ", "SN", &h->n_targets); if (h->n_targets == 0) return 0; - h->target_name = calloc(h->n_targets, sizeof(void*)); + h->target_name = calloc(h->n_targets, sizeof(char*)); for (i = 0; i < h->n_targets; ++i) h->target_name[i] = strdup(tmp[i]); free(tmp); diff --git a/bam_index.c b/bam_index.c index f916e04..85769f9 100644 --- a/bam_index.c +++ b/bam_index.c @@ -171,7 +171,7 @@ bam_index_t *bam_index_core(bamFile fp) idx->n = h->n_targets; bam_header_destroy(h); - idx->index = (khash_t(i)**)calloc(idx->n, sizeof(void*)); + idx->index = (khash_t(i)**)calloc(idx->n, sizeof(khash_t(i)*)); for (i = 0; i < idx->n; ++i) idx->index[i] = kh_init(i); idx->index2 = (bam_lidx_t*)calloc(idx->n, sizeof(bam_lidx_t)); @@ -341,7 +341,7 @@ static bam_index_t *bam_index_load_core(FILE *fp) idx = (bam_index_t*)calloc(1, sizeof(bam_index_t)); fread(&idx->n, 4, 1, fp); if (bam_is_be) bam_swap_endian_4p(&idx->n); - idx->index = (khash_t(i)**)calloc(idx->n, sizeof(void*)); + idx->index = (khash_t(i)**)calloc(idx->n, sizeof(khash_t(i)*)); idx->index2 = (bam_lidx_t*)calloc(idx->n, sizeof(bam_lidx_t)); for (i = 0; i < idx->n; ++i) { khash_t(i) *index; diff --git a/bam_lpileup.c b/bam_lpileup.c index d4dd63b..47f3df7 100644 --- a/bam_lpileup.c +++ b/bam_lpileup.c @@ -121,7 +121,7 @@ static int tview_func(uint32_t tid, uint32_t pos, int n, const bam_pileup1_t *pl if (tv->n_nodes + 1 > tv->m_aux) { // enlarge tv->m_aux = tv->n_nodes + 1; kroundup32(tv->m_aux); - tv->aux = (freenode_t**)realloc(tv->aux, sizeof(void*) * tv->m_aux); + tv->aux = (freenode_t**)realloc(tv->aux, sizeof(freenode_t*) * tv->m_aux); } for (p = tv->head, i = l = 0; p->next;) { if (p->level > max_level) { // then discard this entry diff --git a/bam_pileup.c b/bam_pileup.c index 57434e0..ebae633 100644 --- a/bam_pileup.c +++ b/bam_pileup.c @@ -386,8 +386,8 @@ bam_mplp_t bam_mplp_init(int n, bam_plp_auto_f func, void **data) iter = calloc(1, sizeof(struct __bam_mplp_t)); iter->pos = calloc(n, 8); iter->n_plp = calloc(n, sizeof(int)); - iter->plp = calloc(n, sizeof(void*)); - iter->iter = calloc(n, sizeof(void*)); + iter->plp = calloc(n, sizeof(bam_pileup1_t*)); + iter->iter = calloc(n, sizeof(bam_plp_t)); iter->n = n; iter->min = (uint64_t)-1; for (i = 0; i < n; ++i) { diff --git a/bam_plcmd.c b/bam_plcmd.c index 8935c5a..ee4a151 100644 --- a/bam_plcmd.c +++ b/bam_plcmd.c @@ -203,9 +203,9 @@ static int mpileup(mplp_conf_t *conf, int n, char **fn) memset(&gplp, 0, sizeof(mplp_pileup_t)); memset(&buf, 0, sizeof(kstring_t)); memset(&bc, 0, sizeof(bcf_call_t)); - data = calloc(n, sizeof(void*)); - plp = calloc(n, sizeof(void*)); - n_plp = calloc(n, sizeof(int*)); + data = calloc(n, sizeof(mplp_aux_t*)); + plp = calloc(n, sizeof(bam_pileup1_t*)); + n_plp = calloc(n, sizeof(int)); sm = bam_smpl_init(); // read the header and initialize data @@ -248,7 +248,7 @@ static int mpileup(mplp_conf_t *conf, int n, char **fn) gplp.n = sm->n; gplp.n_plp = calloc(sm->n, sizeof(int)); gplp.m_plp = calloc(sm->n, sizeof(int)); - gplp.plp = calloc(sm->n, sizeof(void*)); + gplp.plp = calloc(sm->n, sizeof(bam_pileup1_t*)); fprintf(stderr, "[%s] %d samples in %d input files\n", __func__, sm->n, n); // write the VCF header diff --git a/bam_sort.c b/bam_sort.c index c46bce3..4e04efe 100644 --- a/bam_sort.c +++ b/bam_sort.c @@ -117,7 +117,7 @@ int bam_merge_core2(int by_qname, const char *out, const char *headers, int n, c iter = (bam_iter_t*)calloc(n, sizeof(bam_iter_t)); // prepare RG tag if (flag & MERGE_RG) { - RG = (char**)calloc(n, sizeof(void*)); + RG = (char**)calloc(n, sizeof(char*)); RG_len = (int*)calloc(n, sizeof(int)); for (i = 0; i != n; ++i) { int l = strlen(fn[i]); @@ -469,7 +469,7 @@ void bam_sort_core_ext(int is_by_qname, const char *fn, const char *prefix, size if (k == max_k) { size_t old_max = max_k; max_k = max_k? max_k<<1 : 0x10000; - buf = realloc(buf, max_k * sizeof(void*)); + buf = realloc(buf, max_k * sizeof(bam1_t*)); memset(buf + old_max, 0, sizeof(void*) * (max_k - old_max)); } if (buf[k] == 0) buf[k] = (bam1_t*)calloc(1, sizeof(bam1_t)); diff --git a/bamshuf.c b/bamshuf.c index 33a5238..36e8d0a 100644 --- a/bamshuf.c +++ b/bamshuf.c @@ -59,8 +59,8 @@ static void bamshuf(const char *fn, int n_files, const char *pre, int clevel, in fp = strcmp(fn, "-")? bgzf_open(fn, "r") : bgzf_dopen(fileno(stdin), "r"); assert(fp); h = bam_hdr_read(fp); - fnt = (char**)calloc(n_files, sizeof(void*)); - fpt = (BGZF**)calloc(n_files, sizeof(void*)); + fnt = (char**)calloc(n_files, sizeof(char*)); + fpt = (BGZF**)calloc(n_files, sizeof(BGZF*)); cnt = (int64_t*)calloc(n_files, 8); l = strlen(pre); for (i = 0; i < n_files; ++i) { diff --git a/bcftools/bcf.c b/bcftools/bcf.c index 24728db..135e8b3 100644 --- a/bcftools/bcf.c +++ b/bcftools/bcf.c @@ -75,7 +75,7 @@ static inline char **cnt_null(int l, char *str, int *_n) for (p = str; p != str + l; ++p) if (*p == 0) ++n; *_n = n; - list = calloc(n, sizeof(void*)); + list = calloc(n, sizeof(char*)); list[0] = str; for (p = str, n = 1; p < str + l - 1; ++p) if (*p == 0) list[n++] = p + 1; diff --git a/bcftools/call1.c b/bcftools/call1.c index 5f32c34..317b161 100644 --- a/bcftools/call1.c +++ b/bcftools/call1.c @@ -196,7 +196,7 @@ static char **read_samples(const char *fn, int *_n) int l; if (max == n) { max = max? max<<1 : 4; - sam = realloc(sam, sizeof(void*)*max); + sam = realloc(sam, sizeof(char*)*max); } l = s.l; sam[n] = malloc(s.l + 2); diff --git a/bcftools/prob1.c b/bcftools/prob1.c index ffa608e..79b1cff 100644 --- a/bcftools/prob1.c +++ b/bcftools/prob1.c @@ -663,7 +663,7 @@ static double contrast2(bcf_p1aux_t *p1, double ret[3]) computation in this block can be accelerated with a similar strategy, but perhaps this is not a serious concern for now. */ double tmp = lgamma(2*(n1+n2)+1) - (lgamma(2*n1+1) + lgamma(2*n2+1)); - p1->hg = calloc(2*n1+1, sizeof(void*)); + p1->hg = calloc(2*n1+1, sizeof(double*)); for (k1 = 0; k1 <= 2*n1; ++k1) { p1->hg[k1] = calloc(2*n2+1, sizeof(double)); for (k2 = 0; k2 <= 2*n2; ++k2) diff --git a/bedcov.c b/bedcov.c index 3e4b952..a0b506c 100644 --- a/bedcov.c +++ b/bedcov.c @@ -49,8 +49,8 @@ int main_bedcov(int argc, char *argv[]) } memset(&str, 0, sizeof(kstring_t)); n = argc - optind - 1; - aux = calloc(n, sizeof(void*)); - idx = calloc(n, sizeof(void*)); + aux = calloc(n, sizeof(aux_t*)); + idx = calloc(n, sizeof(bam_index_t*)); for (i = 0; i < n; ++i) { aux[i] = calloc(1, sizeof(aux_t)); aux[i]->min_mapQ = min_mapQ; @@ -69,7 +69,7 @@ int main_bedcov(int argc, char *argv[]) fp = gzopen(argv[optind], "rb"); ks = ks_init(fp); n_plp = calloc(n, sizeof(int)); - plp = calloc(n, sizeof(void*)); + plp = calloc(n, sizeof(bam_pileup1_t*)); while (ks_getuntil(ks, KS_SEP_LINE, &str, &dret) >= 0) { char *p, *q; int tid, beg, end, pos; diff --git a/faidx.c b/faidx.c index 51c82ac..5647887 100644 --- a/faidx.c +++ b/faidx.c @@ -52,7 +52,7 @@ static inline void fai_insert_index(faidx_t *idx, const char *name, int len, int faidx1_t t; if (idx->n == idx->m) { idx->m = idx->m? idx->m<<1 : 16; - idx->name = (char**)realloc(idx->name, sizeof(void*) * idx->m); + idx->name = (char**)realloc(idx->name, sizeof(char*) * idx->m); } idx->name[idx->n] = strdup(name); k = kh_put(s, idx->hash, idx->name[idx->n], &ret); diff --git a/kprobaln.c b/kprobaln.c index 04e526a..ec0247a 100644 --- a/kprobaln.c +++ b/kprobaln.c @@ -87,8 +87,8 @@ int kpa_glocal(const uint8_t *_ref, int l_ref, const uint8_t *_query, int l_quer if (bw < abs(l_ref - l_query)) bw = abs(l_ref - l_query); bw2 = bw * 2 + 1; // allocate the forward and backward matrices f[][] and b[][] and the scaling array s[] - f = calloc(l_query+1, sizeof(void*)); - if (is_backward) b = calloc(l_query+1, sizeof(void*)); + f = calloc(l_query+1, sizeof(double*)); + if (is_backward) b = calloc(l_query+1, sizeof(double*)); for (i = 0; i <= l_query; ++i) { // FIXME: this will lead in segfault for l_query==0 f[i] = calloc(bw2 * 3 + 6, sizeof(double)); // FIXME: this is over-allocated for very short seqs if (is_backward) b[i] = calloc(bw2 * 3 + 6, sizeof(double)); diff --git a/phase.c b/phase.c index ef4eff9..870e9cb 100644 --- a/phase.c +++ b/phase.c @@ -87,7 +87,7 @@ static int **count_all(int l, int vpos, nseq_t *hash) int i, j, **cnt; uint8_t *seq; seq = calloc(l, 1); - cnt = calloc(vpos, sizeof(void*)); + cnt = calloc(vpos, sizeof(int*)); for (i = 0; i < vpos; ++i) cnt[i] = calloc(1<<l, sizeof(int)); for (k = 0; k < kh_end(hash); ++k) { if (kh_exist(hash, k)) { @@ -116,7 +116,7 @@ static int8_t *dynaprog(int l, int vpos, int **w) uint32_t x, z = 1u<<(l-1), mask = (1u<<l) - 1; f[0] = calloc(z, sizeof(int)); f[1] = calloc(z, sizeof(int)); - b = calloc(vpos, sizeof(void*)); + b = calloc(vpos, sizeof(int8_t*)); prev = f[0]; curr = f[1]; // fill the backtrack matrix for (i = 0; i < vpos; ++i) { @@ -405,7 +405,7 @@ static int phase(phaseg_t *g, const char *chr, int vpos, uint64_t *cns, nseq_t * i + g->vpos_shift + 1, (int)(x&0xffff), (int)(x>>16&0xffff), (int)(x>>32&0xffff), (int)(x>>48&0xffff)); } free(path); free(pcnt); free(regmask); free(sitemask); - seqs = calloc(n_seqs, sizeof(void*)); + seqs = calloc(n_seqs, sizeof(frag_t*)); for (k = 0, i = 0; k < kh_end(hash); ++k) if (kh_exist(hash, k) && kh_val(hash, k).vpos < vpos && !kh_val(hash, k).single) seqs[i++] = &kh_val(hash, k); @@ -455,7 +455,7 @@ static int readaln(void *data, bam1_t *b) if (!(b->core.flag & (BAM_FUNMAP|BAM_FSECONDARY|BAM_FQCFAIL|BAM_FDUP)) && g->pre) { if (g->n == g->m) { g->m = g->m? g->m<<1 : 16; - g->b = realloc(g->b, g->m * sizeof(void*)); + g->b = realloc(g->b, g->m * sizeof(bam1_t*)); } g->b[g->n++] = bam_dup1(b); } diff --git a/razf.c b/razf.c index e7499f9..20aaacb 100644 --- a/razf.c +++ b/razf.c @@ -81,7 +81,7 @@ static inline int is_big_endian(){ static void add_zindex(RAZF *rz, int64_t in, int64_t out){ if(rz->index->size == rz->index->cap){ rz->index->cap = rz->index->cap * 1.5 + 2; - rz->index->cell_offsets = realloc(rz->index->cell_offsets, sizeof(int) * rz->index->cap); + rz->index->cell_offsets = realloc(rz->index->cell_offsets, sizeof(uint32_t) * rz->index->cap); rz->index->bin_offsets = realloc(rz->index->bin_offsets, sizeof(int64_t) * (rz->index->cap/RZ_BIN_SIZE + 1)); } if(rz->index->size % RZ_BIN_SIZE == 0) rz->index->bin_offsets[rz->index->size / RZ_BIN_SIZE] = out; @@ -132,7 +132,7 @@ static void load_zindex(RAZF *rz, int fd){ #else read(fd, rz->index->bin_offsets, sizeof(int64_t) * v32); #endif - rz->index->cell_offsets = malloc(sizeof(int) * rz->index->size); + rz->index->cell_offsets = malloc(sizeof(uint32_t) * rz->index->size); #ifdef _USE_KNETFILE knet_read(fp, rz->index->cell_offsets, sizeof(int) * rz->index->size); #else diff --git a/sam.c b/sam.c index fa11df6..6a2ab80 100644 --- a/sam.c +++ b/sam.c @@ -16,7 +16,7 @@ bam_header_t *bam_header_dup(const bam_header_t *h0) h->text = (char*)calloc(h->l_text + 1, 1); memcpy(h->text, h0->text, h->l_text); h->target_len = (uint32_t*)calloc(h->n_targets, 4); - h->target_name = (char**)calloc(h->n_targets, sizeof(void*)); + h->target_name = (char**)calloc(h->n_targets, sizeof(char*)); for (i = 0; i < h->n_targets; ++i) { h->target_len[i] = h0->target_len[i]; h->target_name[i] = strdup(h0->target_name[i]); diff --git a/sam_header.c b/sam_header.c index ddc2c38..ced0c8e 100644 --- a/sam_header.c +++ b/sam_header.c @@ -660,7 +660,7 @@ char **sam_header2list(const void *_dict, char type[2], char key_tag[2], int *_n if (n == max) { max = max? max<<1 : 4; - ret = realloc(ret, max * sizeof(void*)); + ret = realloc(ret, max * sizeof(char*)); } ret[n++] = key->value; diff --git a/sample.c b/sample.c index 830b9d1..294b12b 100644 --- a/sample.c +++ b/sample.c @@ -40,7 +40,7 @@ static void add_pair(bam_sample_t *sm, khash_t(sm) *sm2id, const char *key, cons if (k_sm == kh_end(sm2id)) { // absent if (sm->n == sm->m) { sm->m = sm->m? sm->m<<1 : 1; - sm->smpl = realloc(sm->smpl, sizeof(void*) * sm->m); + sm->smpl = realloc(sm->smpl, sizeof(char*) * sm->m); } sm->smpl[sm->n] = strdup(val); k_sm = kh_put(sm, sm2id, sm->smpl[sm->n], &ret); -- Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-med/samtools.git _______________________________________________ debian-med-commit mailing list [email protected] http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/debian-med-commit
