File tree Expand file tree Collapse file tree 1 file changed +8
-0
lines changed Expand file tree Collapse file tree 1 file changed +8
-0
lines changed Original file line number Diff line number Diff line change @@ -856,6 +856,10 @@ pub extern "C" fn calculate_embedding_similarity(
856856
857857 if status1 != 0 || emb_result1. error {
858858 eprintln ! ( "Error generating embedding for text1" ) ;
859+ // Clean up allocated memory before returning
860+ if !emb_result1. data . is_null ( ) {
861+ crate :: ffi:: memory:: free_embedding ( emb_result1. data , emb_result1. length ) ;
862+ }
859863 unsafe {
860864 ( * result) = EmbeddingSimilarityResult :: default ( ) ;
861865 }
@@ -876,6 +880,10 @@ pub extern "C" fn calculate_embedding_similarity(
876880 if !emb_result1. data . is_null ( ) {
877881 crate :: ffi:: memory:: free_embedding ( emb_result1. data , emb_result1. length ) ;
878882 }
883+ // Also clean up emb_result2
884+ if !emb_result2. data . is_null ( ) {
885+ crate :: ffi:: memory:: free_embedding ( emb_result2. data , emb_result2. length ) ;
886+ }
879887 unsafe {
880888 ( * result) = EmbeddingSimilarityResult :: default ( ) ;
881889 }
You can’t perform that action at this time.
0 commit comments