Lennart Braun
Lennart Braun
This is a somewhat cleaned up version of @liorko87's PR #87. Work in progress, do not merge. - [x] drop 57842db after #93 is merged - [ ] wait for...
There are multiple(?) out-of-bound reads in connection with the variable ver_inter_ctr in phasing_circuit.cpp.
This issue tracks concurrency related problems that are currently known. - [x] abyparty/-setup: add synchronization to worker job (fixed in #67 ) - [x] more fixes in encryptogroup/ENCRYPTO_utils#6 - [...
[`Sharing::m_nFilePos`](https://github.com/encryptogroup/ABY/blob/8c6d92bd801a44dc40a4abe3da2a85b56231326d/src/abycore/sharing/sharing.h#L246) is declared as unsigned. In [`BoolSharing::Reset`](https://github.com/encryptogroup/ABY/blob/8c6d92bd801a44dc40a4abe3da2a85b56231326d/src/abycore/sharing/boolsharing.cpp#L1617) the variable is assigned a value of `-1` as an "invalid" value: ``` m_nFilePos = -1; // FIXME: m_nFilePos is unsigned ... ```
With help of ASan found a buffer overflow occurring when arithmetic sharing is used (see below). I used test case no. 12 "ioarith". For the type sizes I assume a...
Starting psi_phasing with the same parameters as in the test (`./psi_phasing.exe -r 1 -n 1024 -b 32`) results in a heap overflow. In [simple_hashing.cpp](https://github.com/encryptogroup/ABY/blob/b83c955991f9d6432ed195b6a9479ba92be473d5/src/examples/psi_phasing/common/hashing/simple_hashing.cpp#L114), `ctx->hs->outbitlen` is 24 resulting in 3...
There are a lot of calls to `malloc` in this code, but I have seen only one check of its return value. If the memory allocation fails, `malloc` and `calloc`...
While testing my circuits I saw that with each invocation of ABY a few more threads were added to the process. I traced the creation and joining of threads in...
``` src/abycore/util/socket.h:240:12: warning: comparison of unsigned expression < 0 is always false [-Wtautological-compare] if (ret < 0) { ~~~ ^ ~ ``` This is in the method [`uint64_t Receive(void* pBuf,...
Each time a gate is created via the `Put...Gate`, e.g. `BooleanCircuit::PutXORGate(share*, share*)`, a `share` object is created. ```C++ share* BooleanCircuit::PutXORGate(share* ina, share* inb) { return new boolshare(PutXORGate(ina->get_wires(), inb->get_wires()), this); }...