##// END OF EJS Templates
dirs: fix out-of-bounds access in Py3...
dirs: fix out-of-bounds access in Py3 The hack for mutating Python's variable-length integers that was ported to py3 in cb3048746dae (dirs: port PyInt code to work on Python 3, 2016-10-08) was reading from ob_digit[1] instead of ob_digit[0] for some reason. Space for ob_digit[1] would only be allocated for integers larger than 30 bits, so we ended up writing to unallocated memory. Also, we would write an integer that's 2^30 times too large, so we would never free these integers. Found by AddressSanitizer. Differential Revision: https://phab.mercurial-scm.org/D7597

File last commit:

r43583:8d432d3a default
r44290:a47ccdcc default
Show More
Cargo.toml
29 lines | 716 B | application/toml | TOMLLexer
[package]
name = "hg-cpython"
version = "0.1.0"
authors = ["Georges Racinet <gracinet@anybox.fr>"]
edition = "2018"
[lib]
name='rusthg'
crate-type = ["cdylib"]
[features]
default = ["python27"]
# Features to build an extension module:
python27 = ["cpython/python27-sys", "cpython/extension-module-2-7"]
python3 = ["cpython/python3-sys", "cpython/extension-module"]
# Enable one of these features to build a test executable linked to libpython:
# e.g. cargo test --no-default-features --features python27-bin
python27-bin = ["cpython/python27-sys"]
python3-bin = ["cpython/python3-sys"]
[dependencies]
hg-core = { path = "../hg-core" }
libc = '*'
[dependencies.cpython]
version = "0.3"
default-features = false