diff options
| author | J08nY | 2017-04-06 16:26:26 +0200 |
|---|---|---|
| committer | J08nY | 2017-04-06 16:56:45 +0200 |
| commit | d4a152b9daf665db62e3e30ca40f3cf94a1a30af (patch) | |
| tree | ec06a8e9eaa76276e5df1a5a4e5ed8cab6b12a38 /src/math/curve.c | |
| parent | 6ef98279d0a9b9dfebbe2620e50da9cbea0cbd56 (diff) | |
| download | ecgen-d4a152b9daf665db62e3e30ca40f3cf94a1a30af.tar.gz ecgen-d4a152b9daf665db62e3e30ca40f3cf94a1a30af.tar.zst ecgen-d4a152b9daf665db62e3e30ca40f3cf94a1a30af.zip | |
Diffstat (limited to 'src/math/curve.c')
| -rw-r--r-- | src/math/curve.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/math/curve.c b/src/math/curve.c index 1703f78..812dbcc 100644 --- a/src/math/curve.c +++ b/src/math/curve.c @@ -41,6 +41,9 @@ curve_t *curve_copy(curve_t *src, curve_t *dest) { void curve_free(curve_t **curve) { if (*curve) { seed_free(&(*curve)->seed); + if ((*curve)->curve) { + obj_free((*curve)->curve); + } points_free_deep(&(*curve)->generators, (*curve)->ngens); points_free_deep(&(*curve)->points, (*curve)->npoints); pari_free(*curve); @@ -49,6 +52,11 @@ void curve_free(curve_t **curve) { } int curve_any(curve_t *curve, config_t *cfg, arg_t *args) { + if (curve->curve) { + obj_free(curve->curve); + curve->curve = NULL; + } + pari_sp ltop = avma; GEN v = gen_0; switch (typ(curve->field)) { |
