Skip to content

Commit d16f183

Browse files
Fix memory leak in get_map and get_map_bytes functions. (#324)
This partially reverts commit 764fcea (#285). Signed-off-by: Javier Atadia <[email protected]>
1 parent d046df9 commit d16f183

11 files changed

+998
-6
lines changed

Cargo.toml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,9 @@ build = "build.rs"
1414
hashbrown = "0.16"
1515
log = "0.4"
1616

17+
[dev-dependencies]
18+
mockalloc = "0.1.2"
19+
1720
[profile.release]
1821
lto = true
1922
opt-level = 3

bazel/cargo/Cargo.Bazel.lock

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,10 +37,66 @@ version = "0.4.27"
3737
source = "registry+https://github.com/rust-lang/crates.io-index"
3838
checksum = "13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94"
3939

40+
[[package]]
41+
name = "mockalloc"
42+
version = "0.1.2"
43+
source = "registry+https://github.com/rust-lang/crates.io-index"
44+
checksum = "5a6c93486116b2ab028d2a2c5f5ff42020407d1c7048b77ca0b196a511a12a94"
45+
dependencies = [
46+
"mockalloc-macros",
47+
]
48+
49+
[[package]]
50+
name = "mockalloc-macros"
51+
version = "0.1.0"
52+
source = "registry+https://github.com/rust-lang/crates.io-index"
53+
checksum = "23565dcdaedab64115f722c31d84e5bdb7125724097dcafce160a64806d6fb65"
54+
dependencies = [
55+
"proc-macro2",
56+
"quote",
57+
"syn",
58+
]
59+
60+
[[package]]
61+
name = "proc-macro2"
62+
version = "1.0.101"
63+
source = "registry+https://github.com/rust-lang/crates.io-index"
64+
checksum = "89ae43fd86e4158d6db51ad8e2b80f313af9cc74f5c0e03ccb87de09998732de"
65+
dependencies = [
66+
"unicode-ident",
67+
]
68+
4069
[[package]]
4170
name = "proxy-wasm"
4271
version = "0.2.4-dev"
4372
dependencies = [
4473
"hashbrown",
4574
"log",
75+
"mockalloc",
76+
]
77+
78+
[[package]]
79+
name = "quote"
80+
version = "1.0.41"
81+
source = "registry+https://github.com/rust-lang/crates.io-index"
82+
checksum = "ce25767e7b499d1b604768e7cde645d14cc8584231ea6b295e9c9eb22c02e1d1"
83+
dependencies = [
84+
"proc-macro2",
85+
]
86+
87+
[[package]]
88+
name = "syn"
89+
version = "1.0.109"
90+
source = "registry+https://github.com/rust-lang/crates.io-index"
91+
checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"
92+
dependencies = [
93+
"proc-macro2",
94+
"quote",
95+
"unicode-ident",
4696
]
97+
98+
[[package]]
99+
name = "unicode-ident"
100+
version = "1.0.19"
101+
source = "registry+https://github.com/rust-lang/crates.io-index"
102+
checksum = "f63a545481291138910575129486daeaf8ac54aee4387fe7906919f7830c7d9d"

bazel/cargo/remote/BUILD.bazel

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,18 @@ alias(
5555
tags = ["manual"],
5656
)
5757

58+
alias(
59+
name = "mockalloc-0.1.2",
60+
actual = "@crates_vendor__mockalloc-0.1.2//:mockalloc",
61+
tags = ["manual"],
62+
)
63+
64+
alias(
65+
name = "mockalloc",
66+
actual = "@crates_vendor__mockalloc-0.1.2//:mockalloc",
67+
tags = ["manual"],
68+
)
69+
5870
alias(
5971
name = "proxy-wasm-0.2.4-dev",
6072
actual = "@crates_vendor__proxy-wasm-0.2.4-dev//:proxy_wasm",
Lines changed: 95 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,95 @@
1+
###############################################################################
2+
# @generated
3+
# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
4+
# regenerate this file, run the following:
5+
#
6+
# bazel run @//bazel/cargo:crates_vendor
7+
###############################################################################
8+
9+
load("@rules_rust//cargo:defs.bzl", "cargo_toml_env_vars")
10+
load("@rules_rust//rust:defs.bzl", "rust_library")
11+
12+
package(default_visibility = ["//visibility:public"])
13+
14+
cargo_toml_env_vars(
15+
name = "cargo_toml_env_vars",
16+
src = "Cargo.toml",
17+
)
18+
19+
rust_library(
20+
name = "mockalloc",
21+
srcs = glob(
22+
include = ["**/*.rs"],
23+
allow_empty = True,
24+
),
25+
compile_data = glob(
26+
include = ["**"],
27+
allow_empty = True,
28+
exclude = [
29+
"**/* *",
30+
".tmp_git_root/**/*",
31+
"BUILD",
32+
"BUILD.bazel",
33+
"WORKSPACE",
34+
"WORKSPACE.bazel",
35+
],
36+
),
37+
crate_root = "src/lib.rs",
38+
edition = "2018",
39+
proc_macro_deps = [
40+
"@crates_vendor__mockalloc-macros-0.1.0//:mockalloc_macros",
41+
],
42+
rustc_env_files = [
43+
":cargo_toml_env_vars",
44+
],
45+
rustc_flags = [
46+
"--cap-lints=allow",
47+
],
48+
tags = [
49+
"cargo-bazel",
50+
"crate-name=mockalloc",
51+
"manual",
52+
"noclippy",
53+
"norustfmt",
54+
],
55+
target_compatible_with = select({
56+
"@rules_rust//rust/platform:aarch64-apple-darwin": [],
57+
"@rules_rust//rust/platform:aarch64-apple-ios": [],
58+
"@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
59+
"@rules_rust//rust/platform:aarch64-linux-android": [],
60+
"@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
61+
"@rules_rust//rust/platform:aarch64-unknown-fuchsia": [],
62+
"@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
63+
"@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
64+
"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
65+
"@rules_rust//rust/platform:aarch64-unknown-uefi": [],
66+
"@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
67+
"@rules_rust//rust/platform:armv7-linux-androideabi": [],
68+
"@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
69+
"@rules_rust//rust/platform:i686-apple-darwin": [],
70+
"@rules_rust//rust/platform:i686-linux-android": [],
71+
"@rules_rust//rust/platform:i686-pc-windows-msvc": [],
72+
"@rules_rust//rust/platform:i686-unknown-freebsd": [],
73+
"@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
74+
"@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
75+
"@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
76+
"@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
77+
"@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
78+
"@rules_rust//rust/platform:thumbv7em-none-eabi": [],
79+
"@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
80+
"@rules_rust//rust/platform:wasm32-unknown-unknown": [],
81+
"@rules_rust//rust/platform:wasm32-wasip1": [],
82+
"@rules_rust//rust/platform:x86_64-apple-darwin": [],
83+
"@rules_rust//rust/platform:x86_64-apple-ios": [],
84+
"@rules_rust//rust/platform:x86_64-linux-android": [],
85+
"@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
86+
"@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
87+
"@rules_rust//rust/platform:x86_64-unknown-fuchsia": [],
88+
"@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
89+
"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
90+
"@rules_rust//rust/platform:x86_64-unknown-none": [],
91+
"@rules_rust//rust/platform:x86_64-unknown-uefi": [],
92+
"//conditions:default": ["@platforms//:incompatible"],
93+
}),
94+
version = "0.1.2",
95+
)
Lines changed: 97 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,97 @@
1+
###############################################################################
2+
# @generated
3+
# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
4+
# regenerate this file, run the following:
5+
#
6+
# bazel run @//bazel/cargo:crates_vendor
7+
###############################################################################
8+
9+
load("@rules_rust//cargo:defs.bzl", "cargo_toml_env_vars")
10+
load("@rules_rust//rust:defs.bzl", "rust_proc_macro")
11+
12+
package(default_visibility = ["//visibility:public"])
13+
14+
cargo_toml_env_vars(
15+
name = "cargo_toml_env_vars",
16+
src = "Cargo.toml",
17+
)
18+
19+
rust_proc_macro(
20+
name = "mockalloc_macros",
21+
srcs = glob(
22+
include = ["**/*.rs"],
23+
allow_empty = True,
24+
),
25+
compile_data = glob(
26+
include = ["**"],
27+
allow_empty = True,
28+
exclude = [
29+
"**/* *",
30+
".tmp_git_root/**/*",
31+
"BUILD",
32+
"BUILD.bazel",
33+
"WORKSPACE",
34+
"WORKSPACE.bazel",
35+
],
36+
),
37+
crate_root = "src/lib.rs",
38+
edition = "2018",
39+
rustc_env_files = [
40+
":cargo_toml_env_vars",
41+
],
42+
rustc_flags = [
43+
"--cap-lints=allow",
44+
],
45+
tags = [
46+
"cargo-bazel",
47+
"crate-name=mockalloc-macros",
48+
"manual",
49+
"noclippy",
50+
"norustfmt",
51+
],
52+
target_compatible_with = select({
53+
"@rules_rust//rust/platform:aarch64-apple-darwin": [],
54+
"@rules_rust//rust/platform:aarch64-apple-ios": [],
55+
"@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
56+
"@rules_rust//rust/platform:aarch64-linux-android": [],
57+
"@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
58+
"@rules_rust//rust/platform:aarch64-unknown-fuchsia": [],
59+
"@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
60+
"@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
61+
"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
62+
"@rules_rust//rust/platform:aarch64-unknown-uefi": [],
63+
"@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
64+
"@rules_rust//rust/platform:armv7-linux-androideabi": [],
65+
"@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
66+
"@rules_rust//rust/platform:i686-apple-darwin": [],
67+
"@rules_rust//rust/platform:i686-linux-android": [],
68+
"@rules_rust//rust/platform:i686-pc-windows-msvc": [],
69+
"@rules_rust//rust/platform:i686-unknown-freebsd": [],
70+
"@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
71+
"@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
72+
"@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
73+
"@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
74+
"@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
75+
"@rules_rust//rust/platform:thumbv7em-none-eabi": [],
76+
"@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
77+
"@rules_rust//rust/platform:wasm32-unknown-unknown": [],
78+
"@rules_rust//rust/platform:wasm32-wasip1": [],
79+
"@rules_rust//rust/platform:x86_64-apple-darwin": [],
80+
"@rules_rust//rust/platform:x86_64-apple-ios": [],
81+
"@rules_rust//rust/platform:x86_64-linux-android": [],
82+
"@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
83+
"@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
84+
"@rules_rust//rust/platform:x86_64-unknown-fuchsia": [],
85+
"@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
86+
"@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
87+
"@rules_rust//rust/platform:x86_64-unknown-none": [],
88+
"@rules_rust//rust/platform:x86_64-unknown-uefi": [],
89+
"//conditions:default": ["@platforms//:incompatible"],
90+
}),
91+
version = "0.1.0",
92+
deps = [
93+
"@crates_vendor__proc-macro2-1.0.101//:proc_macro2",
94+
"@crates_vendor__quote-1.0.41//:quote",
95+
"@crates_vendor__syn-1.0.109//:syn",
96+
],
97+
)

0 commit comments

Comments
 (0)