From f52e21a2f14ea1cec39c59abf563547c08179c61 Mon Sep 17 00:00:00 2001
From: Karim Belabas <Karim.Belabas@math.u-bordeaux.fr>
Date: Wed, 12 Jul 2023 01:05:29 +0200
Subject: [PATCH] forqfvec_i: undefined typecast

typecasting from double to ulong is undefined if truncation can't be
represented.
---
 src/basemath/bibli1.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Index: pari-2.15.4/src/basemath/bibli1.c
===================================================================
--- pari-2.15.4.orig/src/basemath/bibli1.c
+++ pari-2.15.4/src/basemath/bibli1.c
@@ -1193,7 +1193,7 @@ forqfvec_i(void *E, long (*fun)(void *,
   else
     p = gtodouble(BORNE);
   BOUND = p * (1 + eps);
-  if ((ulong)BOUND != (ulong)p) pari_err_PREC("forqfvec");
+  if (BOUND > ULONG_MAX || (ulong)BOUND != (ulong)p) pari_err_PREC("forqfvec");
 
   k = n; y[n] = z[n] = 0;
   x[n] = (long)sqrt(BOUND/v[n]);
