summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGuillaume Horel <guillaume.horel@gmail.com>2018-04-11 14:44:33 -0400
committerGuillaume Horel <guillaume.horel@gmail.com>2018-04-11 14:44:33 -0400
commit1085fbf6750adf025c3278bb3892db056454a799 (patch)
treeb09093e4b8890e6259988caf3cb62b43cf4ebb72
parenta73dae70088b7dd9bfd905383915f3fc96bb6dfa (diff)
downloadpyisda-1085fbf6750adf025c3278bb3892db056454a799.tar.gz
do not freeup until really done
-rw-r--r--pyisda/curve.pyx8
1 files changed, 4 insertions, 4 deletions
diff --git a/pyisda/curve.pyx b/pyisda/curve.pyx
index b903281..46afff9 100644
--- a/pyisda/curve.pyx
+++ b/pyisda/curve.pyx
@@ -547,18 +547,18 @@ cdef class SpreadCurve(Curve):
&stub_type,
<long>'M',
b'NONE')
+ if curve is NULL:
if freeup:
free(end_dates_c)
- if curve is NULL:
raise ValueError("Didn't init the survival curve properly")
else:
if fill_curve and curve.fNumItems != n_dates:
new_curve = _fill_curve(curve, end_dates_c, n_dates)
- self._thisptr = make_shared(new_curve)
JpmcdsFreeTCurve(curve)
curve = new_curve
- else:
- self._thisptr = make_shared(curve)
+ if freeup:
+ free(end_dates_c)
+ self._thisptr = make_shared(curve)
self.recovery_rates = shared_ptr[double](
<double*>malloc(curve.fNumItems * sizeof(double)),
double_free)