Skip to content

Commit ca9673a

Browse files
authored
Merge branch 'main' into drop-bytes
2 parents 2bce7b9 + 597634d commit ca9673a

File tree

3 files changed

+12
-12
lines changed

3 files changed

+12
-12
lines changed

.github/workflows/rust.yml

+3-3
Original file line numberDiff line numberDiff line change
@@ -125,14 +125,14 @@ jobs:
125125
run: |
126126
curl -OL https://static.rust-lang.org/rustup/rustup-init.sh
127127
chmod +x ./rustup-init.sh
128-
./rustup-init.sh -y --default-toolchain 1.64.0
128+
./rustup-init.sh -y --default-toolchain 1.65.0
129129
rm rustup-init.sh
130130
echo "$HOME/.cargo/bin" >> $GITHUB_PATH
131131
132132
- name: Update Rust
133133
run: |
134-
rustup toolchain install 1.64.0 --component clippy --component rustfmt
135-
rustup default 1.64.0
134+
rustup toolchain install 1.65.0 --component clippy --component rustfmt
135+
rustup default 1.65.0
136136
rustup target add wasm32-unknown-unknown
137137
rustup target add wasm32-wasi
138138

Cargo.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
name = "proxy-wasm"
33
version = "0.2.3-dev"
44
authors = ["Piotr Sikora <[email protected]>"]
5-
rust-version = "1.64"
5+
rust-version = "1.65"
66
description = "WebAssembly for Proxies"
77
readme = "README.md"
88
license = "Apache-2.0"

src/hostcalls.rs

+8-8
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 = Vec::from_raw_parts(return_data, return_size, return_size);
156-
Ok(utils::deserialize_map(&serialized_map))
155+
let serialized_map = std::slice::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, Vec<u8>)>, 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 = Vec::from_raw_parts(return_data, return_size, return_size);
174-
Ok(utils::deserialize_map_bytes(&serialized_map))
173+
let serialized_map = std::slice::from_raw_parts(return_data, return_size);
174+
Ok(utils::deserialize_map_bytes(serialized_map))
175175
} else {
176176
Ok(Vec::new())
177177
}
@@ -1199,11 +1199,11 @@ mod utils {
11991199
}
12001200

12011201
pub(super) fn deserialize_map(bytes: &[u8]) -> Vec<(String, String)> {
1202-
let mut map = Vec::new();
12031202
if bytes.is_empty() {
1204-
return map;
1203+
return Vec::new();
12051204
}
12061205
let size = u32::from_le_bytes(<[u8; 4]>::try_from(&bytes[0..4]).unwrap()) as usize;
1206+
let mut map = Vec::with_capacity(size);
12071207
let mut p = 4 + size * 8;
12081208
for n in 0..size {
12091209
let s = 4 + n * 8;
@@ -1223,11 +1223,11 @@ mod utils {
12231223
}
12241224

12251225
pub(super) fn deserialize_map_bytes(bytes: &[u8]) -> Vec<(String, Vec<u8>)> {
1226-
let mut map = Vec::new();
12271226
if bytes.is_empty() {
1228-
return map;
1227+
return Vec::new();
12291228
}
12301229
let size = u32::from_le_bytes(<[u8; 4]>::try_from(&bytes[0..4]).unwrap()) as usize;
1230+
let mut map = Vec::with_capacity(size);
12311231
let mut p = 4 + size * 8;
12321232
for n in 0..size {
12331233
let s = 4 + n * 8;

0 commit comments

Comments
 (0)