From f40868de7f338d669ef4e2bf3064f40a4f73ebd8 Mon Sep 17 00:00:00 2001 From: mdw Date: Sat, 3 Apr 2004 03:29:40 +0000 Subject: [PATCH] Fix overrun in @mpx_lsr@. --- mpx.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/mpx.c b/mpx.c index 1591f98..ef93e3e 100644 --- a/mpx.c +++ b/mpx.c @@ -1,6 +1,6 @@ /* -*-c-*- * - * $Id: mpx.c,v 1.18 2004/04/01 12:50:09 mdw Exp $ + * $Id: mpx.c,v 1.19 2004/04/03 03:29:40 mdw Exp $ * * Low-level multiprecision arithmetic * @@ -30,6 +30,9 @@ /*----- Revision history --------------------------------------------------* * * $Log: mpx.c,v $ + * Revision 1.19 2004/04/03 03:29:40 mdw + * Fix overrun in @mpx_lsr@. + * * Revision 1.18 2004/04/01 12:50:09 mdw * Add cyclic group abstraction, with test code. Separate off exponentation * functions for better static linking. Fix a buttload of bugs on the way. @@ -660,7 +663,7 @@ void mpx_lsr(mpw *dv, mpw *dvl, const mpw *av, const mpw *avl, size_t n) /* --- Single bit shifting --- */ else if (n == 1) { - mpw w = *av++ >> 1; + mpw w = av < avl ? *av++ >> 1 : 0; while (av < avl) { mpw t; if (dv >= dvl) -- 2.11.0