Avoid loading of a dynamic engine twice#17073
Avoid loading of a dynamic engine twice#17073bernd-edlinger wants to merge 8 commits intoopenssl:masterfrom
Conversation
Use the address of the bind function as a DYNAMIC_ID, since the true name of the engine is not known before the bind function returns, but invoking the bind function before the engine is unloaded results in memory corruption. Fixes openssl#17023
1faf666 to
4ce8760
Compare
|
This looks much better than the alternative solution. |
|
I like this approach and kindly ask to add a test. |
|
okay, thanks for reminding me about the test case, one simple thing that was broken before this and gets fixed is |
t8m
left a comment
There was a problem hiding this comment.
Yeah adding a test case would be nice.
|
I'd suggest to withdraw an approval for now. |
|
Test case added, please re-confirm. Thanks! |
|
Good for all branches, I suppose cherry-pick to 1.1.1 will require separate PR. |
|
24 hours has passed since 'approval: done' was set, but as this PR has been updated in that time the label 'approval: ready to merge' is not being automatically set. Please review the updates and set the label manually. |
|
I'm still not convinced that exist defect that needs code correction. |
|
I agree, and prefer this suggested fix over my approach in #17055. I think this is a good solution to the multi-load issue. Thanks for taking the time to implement it on your side. |
|
This pull request is ready to merge |
Use the address of the bind function as a DYNAMIC_ID, since the true name of the engine is not known before the bind function returns, but invoking the bind function before the engine is unloaded results in memory corruption. Fixes #17023 Reviewed-by: Tomas Mraz <[email protected]> Reviewed-by: Dmitry Belyavskiy <[email protected]> (Merged from #17073) (cherry picked from commit e2571e0)
Use the address of the bind function as a DYNAMIC_ID, since the true name of the engine is not known before the bind function returns, but invoking the bind function before the engine is unloaded results in memory corruption. Fixes #17023 Reviewed-by: Tomas Mraz <[email protected]> Reviewed-by: Dmitry Belyavskiy <[email protected]> (Merged from #17073)
Reviewed-by: Tomas Mraz <[email protected]> Reviewed-by: Dmitry Belyavskiy <[email protected]> (Merged from #17073)
Reviewed-by: Tomas Mraz <[email protected]> Reviewed-by: Dmitry Belyavskiy <[email protected]> (Merged from #17073) (cherry picked from commit 2595eef)
|
Merged to all branches. Thanks! |
Use the address of the bind function as a DYNAMIC_ID, since the true name of the engine is not known before the bind function returns, but invoking the bind function before the engine is unloaded results in memory corruption. Fixes #17023 Reviewed-by: Tomas Mraz <[email protected]> Reviewed-by: Dmitry Belyavskiy <[email protected]> (Merged from #17073) (cherry picked from commit e2571e0)
Use the address of the bind function as a DYNAMIC_ID,
since the true name of the engine is not known
before the bind function returns,
but invoking the bind function before the engine
is unloaded results in memory corruption.
Fixes #17023
This is an alternative to #17055