-
Notifications
You must be signed in to change notification settings - Fork 225
Update Rust crate pyo3 to 0.24 [SECURITY] #939
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
renovate
wants to merge
1
commit into
main
Choose a base branch
from
renovate/crate-pyo3-vulnerability
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
|
5307327
to
9171391
Compare
9171391
to
6fd101a
Compare
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
None yet
0 participants
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
0.23
->0.24
Warning
Some dependencies could not be looked up. Check the Dependency Dashboard for more information.
GitHub Vulnerability Alerts
GHSA-pph8-gcv7-4qj5
PyString::from_object
took&str
arguments and forwarded them directly to the Python C API without checking for terminating nul bytes. This could lead the Python interpreter to read beyond the end of the&str
data and potentially leak contents of the out-of-bounds read (by raising a Python exception containing a copy of the data including the overflow).In PyO3 0.24.1 this function will now allocate a
CString
to guarantee a terminating nul bytes. PyO3 0.25 will likely offer an alternative API which takes&CStr
arguments.Release Notes
pyo3/pyo3 (pyo3)
v0.24.1
Compare Source
Added
abi3-py313
feature. #4969PyAnyMethods::getattr_opt
. #4978PyInt::new
constructor for all supported number types (i32, u32, i64, u64, isize, usize). #4984pyo3::sync::with_critical_section2
. #4992PyCallArgs
forBorrowed<'_, 'py, PyTuple>
,&Bound<'py, PyTuple>
, and&Py<PyTuple>
. #5013Fixed
is_type_of
for native types not using same specialized check asis_type_of_bound
. #4981Probe
class naming issue with#[pymethods]
. #4988#[pyfunction]
arguments takingOption<&str>
andOption<&T>
(for#[pyclass]
types). #5002PyString::from_object
causing of bounds reads whithencoding
anderrors
parameters which are not nul-terminated. #5008crate
for#[pyfunction]
. #5015v0.24.0
Compare Source
Packaging
target-lexicon
dependency to 0.13. #4822jiff
dependency to add conversions forjiff
datetime types. #4823uuid
dependency to add conversions foruuid::Uuid
. #4864inventory
version to 0.3.5. #4954Added
PyIterator::send
method to allow sending values into a python generator. #4746PyCallArgs
trait for passing arguments into the Python calling protocol. This enabled using a faster calling convention for certain types, improving performance. #4768#[pyo3(default = ...']
option for#[derive(FromPyObject)]
to set a default value for extracted fields of named structs. #4829#[pyo3(into_py_with = ...)]
option for#[derive(IntoPyObject, IntoPyObjectRef)]
. #4850PyThreadState_GetFrame
andPyFrame_GetBack
. #4866last
forBoundListIterator
,BoundTupleIterator
andBorrowedTupleIterator
. #4878Iterator::count()
forPyDict
,PyList
,PyTuple
&PySet
. #4878nth
,nth_back
,advance_by
andadvance_back_by
forBoundTupleIterator
#4897types.GenericAlias
aspyo3::types::PyGenericAlias
. #4917MutextExt
trait to help avoid deadlocks with the GIL while locking astd::sync::Mutex
. #4934#[pyo3(rename_all = "...")]
option for#[derive(FromPyObject)]
. #4941Changed
nth
,nth_back
,advance_by
andadvance_back_by
forBoundListIterator
. #4810DerefToPyAny
in blanket implementations ofFrom<Py<T>>
andFrom<Bound<'py, T>>
forPyObject
. #4593io::ErrorKind::IsADirectory
/NotADirectory
to the corresponding Python exception on Rust 1.83+. #4747PyAnyMethods::call
and friends now requirePyCallArgs
for their positional arguments. #4768PyObject_Vectorcall(Method)
on the stable abi on 3.12+. #4853#[pyo3(from_py_with = ...)]
now take a path rather than a string literal #4860PathBuf
&Path
into Pythonpathlib.Path
instead ofPyString
. #4925pthread_exit
trying to acquire the GIL when the interpreter is shutting down. This mimics the Python 3.14 behavior and avoids undefined behavior and crashes. #4874Removed
Deref
forPyAny
and other "native" types. #4593Fixed
PyIter_Send
to return aPySendResult
. #4746Configuration
📅 Schedule: Branch creation - "" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.