cfb223c5751eb97c95ccb4d27b7f1f0dc5b8c4bb galt Thu Jan 7 13:58:23 2021 -0800 fixes bug we do not want bed input with size 0 elements, even though other parts of our software tolerate it for SNPs. fixes#RM26772 diff --git src/hg/hgTracks/hgTracks.c src/hg/hgTracks/hgTracks.c index db498d4..ffea7a3 100644 --- src/hg/hgTracks/hgTracks.c +++ src/hg/hgTracks/hgTracks.c @@ -4221,30 +4221,35 @@ errCatchFree(&errCatch); bed->chrom=cloneString(bed->chrom); // loadAndValidateBed does not do it for speed. but bedFree needs it. struct chromInfo *ci = hGetChromInfo(database, bed->chrom); if (ci == NULL) { warn("Couldn't find chromosome/scaffold %s in database", bed->chrom); return FALSE; } if (bed->chromEnd > ci->size) { warn("BED chromEnd %u > size %u for chromosome/scaffold %s", bed->chromEnd, ci->size, bed->chrom); return FALSE; } + if (!(bed->chromEnd > bed->chromStart)) // do not allow empty regions + { + warn("BED chromEnd %u must be greater than chromStart %u %s", bed->chromEnd, bed->chromStart, bed->chrom); + return FALSE; + } slAddHead(&bedList, bed); struct virtRegion *v; if (numFields < 12) { AllocVar(v); v->chrom = cloneString(bed->chrom); v->start = bed->chromStart; v->end = bed->chromEnd; slAddHead(&virtRegionList, v); } else { int e;