Skip to content

Commit 17de61a

Browse files
committed
Auxiliary vector pT in Frp_mat (calculation of optical forces) was freed by Free_general instead of the specialized Free_cVector. This caused random (unpredictable) crashes, described in comment 1 to issue 14. Fixed.
1 parent ecd8c51 commit 17de61a

File tree

2 files changed

+2
-1
lines changed

2 files changed

+2
-1
lines changed

src/crosssec.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1113,5 +1113,5 @@ void Frp_mat(double Fsca_tot[3],double * restrict Fsca,double Finc_tot[3],double
11131113

11141114
Free_general(materialT);
11151115
Free_general(rdipT);
1116-
Free_general(pT);
1116+
Free_cVector(pT);
11171117
}

src/memory.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -271,6 +271,7 @@ void Free_iMatrix(int ** restrict m,const size_t nrl,const size_t nrh,const size
271271

272272
void Free_general(void * restrict v)
273273
// frees general vector; kept in a special function for future development
274+
// !!! Must not be used for complex vectors - use Free_cVector instead !!!
274275
{
275276
IF_FREE(v);
276277
}

0 commit comments

Comments
 (0)