Collect envs in AsanModuleBuilder::default() (#2921)

* collect envs in AsanModuleBuilder::default

* migration

* fmt
This commit is contained in:
Dongjia "toka" Zhang 2025-02-01 09:57:29 +01:00 committed by GitHub
parent 84702d12a8
commit 6648bc90d2
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 10 additions and 5 deletions

View File

@ -5,6 +5,7 @@
- `EventProcessor` is responsible for evaluating the testcases passed by the `EventReceiver`. - `EventProcessor` is responsible for evaluating the testcases passed by the `EventReceiver`.
- Since we don't evaluate testcases in the `EventManager` anymore. `on_fire` and `post_exec` have been deleted from `EventManagerHook`. - Since we don't evaluate testcases in the `EventManager` anymore. `on_fire` and `post_exec` have been deleted from `EventManagerHook`.
- Similarly `pre_exec` has been renamed to `pre_receive`. - Similarly `pre_exec` has been renamed to `pre_receive`.
- `AsanModule` now uses a `builder()` method for constructing its instances.
# 0.14.1 -> 0.15.0 # 0.14.1 -> 0.15.0
- `MmapShMem::new` and `MmapShMemProvider::new_shmem_with_id` now take `AsRef<Path>` instead of a byte array for the filename/id. - `MmapShMem::new` and `MmapShMemProvider::new_shmem_with_id` now take `AsRef<Path>` instead of a byte array for the filename/id.

View File

@ -133,7 +133,7 @@ pub enum AsanError {
} }
pub struct AsanModuleBuilder { pub struct AsanModuleBuilder {
env: Option<Vec<(String, String)>>, env: Vec<(String, String)>,
detect_leaks: bool, detect_leaks: bool,
snapshot: bool, snapshot: bool,
filter: StdAddressFilter, filter: StdAddressFilter,
@ -234,7 +234,7 @@ impl Debug for AsanGiovese {
impl AsanModuleBuilder { impl AsanModuleBuilder {
#[must_use] #[must_use]
pub fn new( pub fn new(
env: Option<Vec<(String, String)>>, env: Vec<(String, String)>,
detect_leaks: bool, detect_leaks: bool,
snapshot: bool, snapshot: bool,
filter: StdAddressFilter, filter: StdAddressFilter,
@ -252,7 +252,7 @@ impl AsanModuleBuilder {
#[must_use] #[must_use]
pub fn env(self, env: &[(String, String)]) -> Self { pub fn env(self, env: &[(String, String)]) -> Self {
Self::new( Self::new(
Some(env.to_vec()), env.to_vec(),
self.detect_leaks, self.detect_leaks,
self.snapshot, self.snapshot,
self.filter, self.filter,
@ -324,7 +324,7 @@ impl AsanModuleBuilder {
#[must_use] #[must_use]
pub fn build(self) -> AsanModule { pub fn build(self) -> AsanModule {
AsanModule::new( AsanModule::new(
self.env.unwrap().as_ref(), self.env.as_ref(),
self.detect_leaks, self.detect_leaks,
self.snapshot, self.snapshot,
self.filter, self.filter,
@ -335,7 +335,11 @@ impl AsanModuleBuilder {
impl Default for AsanModuleBuilder { impl Default for AsanModuleBuilder {
fn default() -> Self { fn default() -> Self {
Self::new(None, false, true, StdAddressFilter::default(), None) let env = env::vars()
.filter(|(k, _v)| k != "LD_LIBRARY_PATH")
.collect::<Vec<(String, String)>>();
Self::new(env, false, true, StdAddressFilter::default(), None)
} }
} }