summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGuillaume Horel <guillaume.horel@gmail.com>2018-11-08 16:41:47 -0500
committerGuillaume Horel <guillaume.horel@gmail.com>2018-11-08 16:41:47 -0500
commit6efa668ee8f16c38d65a8b71c7fbd44d339d9f53 (patch)
tree54082baef58ca37517ef430f36bcf1a056f3036c
parentda06692cf8e03e58efebcb6a2737e28fb25e038f (diff)
downloadpyisda-6efa668ee8f16c38d65a8b71c7fbd44d339d9f53.tar.gz
use vector to prevent memory leak
-rw-r--r--pyisda/curve.pyx8
1 files changed, 3 insertions, 5 deletions
diff --git a/pyisda/curve.pyx b/pyisda/curve.pyx
index a575a96..d761867 100644
--- a/pyisda/curve.pyx
+++ b/pyisda/curve.pyx
@@ -525,7 +525,7 @@ cdef class SpreadCurve(Curve):
cdef double* tenors_c = NULL
cdef TCurve* curve = NULL
cdef TCurve* new_curve = NULL
- cdef double* rates = NULL
+ cdef vector[double] rates
cdef unsigned int includes = 0
cdef size_t i
cdef bint freeup = False
@@ -587,12 +587,10 @@ cdef class SpreadCurve(Curve):
<long>'M',
b'NONE')
else:
- rates = <double*>malloc(n_dates * sizeof(double))
- for i in range(n_dates):
- rates[i] = 1000
+ rates = vector[double](n_dates, 1000)
curve = JpmcdsMakeTCurve(today_c,
end_dates_c,
- rates,
+ rates.data(),
n_dates,
5000.,
ACT_360)