Skip to content

Commit 966a230

Browse files
Javier AtadiaJaatadiaMulesoft
authored andcommitted
Fix memory leak on get_map functions.
1 parent 50229a2 commit 966a230

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

src/hostcalls.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -152,8 +152,8 @@ pub fn get_map(map_type: MapType) -> Result<Vec<(String, String)>, Status> {
152152
match proxy_get_header_map_pairs(map_type, &mut return_data, &mut return_size) {
153153
Status::Ok => {
154154
if !return_data.is_null() {
155-
let serialized_map = std::slice::from_raw_parts(return_data, return_size);
156-
Ok(utils::deserialize_map(serialized_map))
155+
let serialized_map = Vec::from_raw_parts(return_data, return_size);
156+
Ok(utils::deserialize_map(&serialized_map))
157157
} else {
158158
Ok(Vec::new())
159159
}
@@ -170,8 +170,8 @@ pub fn get_map_bytes(map_type: MapType) -> Result<Vec<(String, Bytes)>, Status>
170170
match proxy_get_header_map_pairs(map_type, &mut return_data, &mut return_size) {
171171
Status::Ok => {
172172
if !return_data.is_null() {
173-
let serialized_map = std::slice::from_raw_parts(return_data, return_size);
174-
Ok(utils::deserialize_map_bytes(serialized_map))
173+
let serialized_map = Vec::from_raw_parts(return_data, return_size);
174+
Ok(utils::deserialize_map_bytes(&serialized_map))
175175
} else {
176176
Ok(Vec::new())
177177
}

0 commit comments

Comments
 (0)