@@ -152,8 +152,8 @@ pub fn get_map(map_type: MapType) -> Result<Vec<(String, String)>, Status> {
152
152
match proxy_get_header_map_pairs ( map_type, & mut return_data, & mut return_size) {
153
153
Status :: Ok => {
154
154
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 , return_size) ;
156
+ Ok ( utils:: deserialize_map ( & serialized_map) )
157
157
} else {
158
158
Ok ( Vec :: new ( ) )
159
159
}
@@ -170,8 +170,8 @@ pub fn get_map_bytes(map_type: MapType) -> Result<Vec<(String, Bytes)>, Status>
170
170
match proxy_get_header_map_pairs ( map_type, & mut return_data, & mut return_size) {
171
171
Status :: Ok => {
172
172
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 , return_size) ;
174
+ Ok ( utils:: deserialize_map_bytes ( & serialized_map) )
175
175
} else {
176
176
Ok ( Vec :: new ( ) )
177
177
}
@@ -1209,11 +1209,11 @@ mod utils {
1209
1209
}
1210
1210
1211
1211
pub ( super ) fn deserialize_map ( bytes : & [ u8 ] ) -> Vec < ( String , String ) > {
1212
+ let mut map = Vec :: new ( ) ;
1212
1213
if bytes. is_empty ( ) {
1213
- return Vec :: new ( ) ;
1214
+ return map ;
1214
1215
}
1215
1216
let size = u32:: from_le_bytes ( <[ u8 ; 4 ] >:: try_from ( & bytes[ 0 ..4 ] ) . unwrap ( ) ) as usize ;
1216
- let mut map = Vec :: with_capacity ( size) ;
1217
1217
let mut p = 4 + size * 8 ;
1218
1218
for n in 0 ..size {
1219
1219
let s = 4 + n * 8 ;
@@ -1233,11 +1233,11 @@ mod utils {
1233
1233
}
1234
1234
1235
1235
pub ( super ) fn deserialize_map_bytes ( bytes : & [ u8 ] ) -> Vec < ( String , Bytes ) > {
1236
+ let mut map = Vec :: new ( ) ;
1236
1237
if bytes. is_empty ( ) {
1237
- return Vec :: new ( ) ;
1238
+ return map ;
1238
1239
}
1239
1240
let size = u32:: from_le_bytes ( <[ u8 ; 4 ] >:: try_from ( & bytes[ 0 ..4 ] ) . unwrap ( ) ) as usize ;
1240
- let mut map = Vec :: with_capacity ( size) ;
1241
1241
let mut p = 4 + size * 8 ;
1242
1242
for n in 0 ..size {
1243
1243
let s = 4 + n * 8 ;
0 commit comments