Skip to content

Commit ee5f606

Browse files
author
Release Manager
committed
gh-37861: Fix segfault for Weil polynomials Fix segfault for Weil polynomials Eliminate a segfault that occurs when asking for Weil polynomials of degree 0 and sign -1 (which do not exist, so the iterator should return empty). This fixes #37860. URL: #37861 Reported by: kedlaya Reviewer(s): Travis Scrimshaw
2 parents 6fa34e7 + 95d8bea commit ee5f606

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

src/sage/rings/polynomial/weil/weil_polynomials.pyx

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -324,7 +324,7 @@ class WeilPolynomials_iter():
324324
if node_limit is None:
325325
node_limit = -1
326326
force_squarefree = Integer(squarefree)
327-
self.process = dfs_manager(d2, q, coefflist, modlist, coeffsign,
327+
self.process = None if d2<0 else dfs_manager(d2, q, coefflist, modlist, coeffsign,
328328
num_cofactor, node_limit, parallel,
329329
force_squarefree)
330330
self.q = q
@@ -537,7 +537,12 @@ class WeilPolynomials():
537537
sage: list(WeilPolynomials(10, 2, lead=(1,-3,5,-5,5,-5)))
538538
[x^10 - 3*x^9 + 5*x^8 - 5*x^7 + 5*x^6 - 5*x^5 + 10*x^4 - 20*x^3 + 40*x^2 - 48*x + 32]
539539
540+
Test that :issue:`37860` is resolved::
540541
542+
sage: list(WeilPolynomials(-1, 1))
543+
[]
544+
sage: list(WeilPolynomials(0, 1, sign=-1))
545+
[]
541546
"""
542547
def __init__(self, d, q, sign=1, lead=1, node_limit=None, parallel=False, squarefree=False, polring=None):
543548
r"""

0 commit comments

Comments
 (0)