]> git.donarmstrong.com Git - samtools.git/blobdiff - bam_import.c
Release samtools-0.1.5a (for compatibility with Bio::DB::Sam)
[samtools.git] / bam_import.c
index c08547345056a356b6b07b50e931c9baff05f48c..fccaa022208131b27093a2b44f32e74d13a469c0 100644 (file)
@@ -153,7 +153,10 @@ int sam_header_parse_rg(bam_header_t *h)
        char *p, *q, *s, *r;
        int n = 0;
 
-       bam_strmap_destroy(h->rg2lib);
+       // free
+       if (h == 0) return 0;
+       bam_strmap_destroy(h->rg2lib); h->rg2lib = 0;
+       if (h->l_text < 3) return 0;
        // parse @RG lines
        h->rg2lib = bam_strmap_init();
        rgid = calloc(1, sizeof(kstring_t));
@@ -193,6 +196,10 @@ int sam_header_parse_rg(bam_header_t *h)
        }
        free(rgid->s); free(rgid);
        free(rglib->s); free(rglib);
+       if (n == 0) {
+               bam_strmap_destroy(h->rg2lib);
+               h->rg2lib = 0;
+       }
        return n;
 }