From 80d92c686fcc2365485f42d821a43bfda6331cde Mon Sep 17 00:00:00 2001 From: Heng Li Date: Fri, 24 Apr 2026 13:25:19 -0400 Subject: [PATCH] r1298: fixed out-of-bound local alignment I believe this would not lead to memory violation; it may occasionally include a few base beyond the intended alignment start/end. --- ksw2_ll_sse.c | 4 ++-- minimap.h | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/ksw2_ll_sse.c b/ksw2_ll_sse.c index 14b9b50..4acd0f0 100644 --- a/ksw2_ll_sse.c +++ b/ksw2_ll_sse.c @@ -67,7 +67,7 @@ void *ksw_ll_qinit(void *km, int size, int qlen, const uint8_t *query, int m, co const int8_t *ma = mat + a * m; for (i = 0; i < slen; ++i) for (k = i; k < nlen; k += slen) // p iterations - *t++ = (k >= qlen? 0 : ma[query[k]]) + q->shift; + *t++ = (k >= qlen? -1 : ma[query[k]]) + q->shift; } } else { int16_t *t = (int16_t*)q->qp; @@ -76,7 +76,7 @@ void *ksw_ll_qinit(void *km, int size, int qlen, const uint8_t *query, int m, co const int8_t *ma = mat + a * m; for (i = 0; i < slen; ++i) for (k = i; k < nlen; k += slen) // p iterations - *t++ = (k >= qlen? 0 : ma[query[k]]); + *t++ = (k >= qlen? -1 : ma[query[k]]); } } return q; diff --git a/minimap.h b/minimap.h index 92f5673..ee92aec 100644 --- a/minimap.h +++ b/minimap.h @@ -5,7 +5,7 @@ #include #include -#define MM_VERSION "2.30-r1290-dirty" +#define MM_VERSION "2.30-r1298-dirty" #define MM_F_NO_DIAG (0x001LL) // no exact diagonal hit #define MM_F_NO_DUAL (0x002LL) // skip pairs where query name is lexicographically larger than target name