-
Notifications
You must be signed in to change notification settings - Fork 10
Update Rust crate pyo3 to 0.24 [SECURITY] #135
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
Merged
Merged
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
3f2bd82
to
ab420a1
Compare
ab420a1
to
e9843cb
Compare
e9843cb
to
bde2d8d
Compare
bde2d8d
to
8c4cadc
Compare
6777fe5
to
56ba52f
Compare
56ba52f
to
d21630f
Compare
d21630f
to
426260a
Compare
426260a
to
e528a1d
Compare
e528a1d
to
32df021
Compare
32df021
to
58de8c5
Compare
58de8c5
to
50e2ed7
Compare
50e2ed7
to
73f3a96
Compare
|
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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
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. #4917
MutextExt
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.