aboutsummaryrefslogtreecommitdiff
path: root/src/gen
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/gen/gens.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/gen/gens.c b/src/gen/gens.c
index a743e79..a7e1f8d 100644
--- a/src/gen/gens.c
+++ b/src/gen/gens.c
@@ -37,13 +37,19 @@ GENERATOR(gens_gen_any) {
GENERATOR(gens_gen_one) {
pari_sp ltop = avma;
+ GEN group = ellff_get_group(curve->curve);
+ long len = glength(group);
+ if (len == 1) {
+ avma = ltop;
+ return -5;
+ }
GEN generators = ellff_get_gens(curve->curve);
- long len = glength(generators);
+ len = glength(generators);
if (len == 2) {
avma = ltop;
return -5;
}
- return gens_put(curve, generators, len);
+ return gens_put(curve, gerepilecopy(ltop, generators), len);
}
GENERATOR(gens_gen_cofactor) {