From 8977f07269bd7fd57959927e2b7ddcff9362043e Mon Sep 17 00:00:00 2001 From: Heng Li Date: Tue, 27 Jun 2017 14:50:31 -0400 Subject: [PATCH] r88: fixed an out-of-boundary bug in ksw2 --- ksw2_extz2_sse.c | 4 ++++ main.c | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/ksw2_extz2_sse.c b/ksw2_extz2_sse.c index 05167cc..1fedb40 100644 --- a/ksw2_extz2_sse.c +++ b/ksw2_extz2_sse.c @@ -102,6 +102,10 @@ void ksw_extz2_sse(void *km, int qlen, const uint8_t *query, int tlen, const uin if (en > r) en = r; if (st < (r-wr+1)>>1) st = (r-wr+1)>>1; // take the ceil if (en > (r+wl)>>1) en = (r+wl)>>1; // take the floor + if (st > en) { + ez->zdropped = 1; + break; + } st0 = st, en0 = en; st = st / 16 * 16, en = (en + 16) / 16 * 16 - 1; // set boundary conditions diff --git a/main.c b/main.c index 1094c69..1d3bcbd 100644 --- a/main.c +++ b/main.c @@ -10,7 +10,7 @@ #include "minimap.h" #include "mmpriv.h" -#define MM_VERSION "2.0-r87-pre" +#define MM_VERSION "2.0-r88-pre" void liftrlimit() {