<feed xmlns='http://www.w3.org/2005/Atom'>
<title>openbsd/src/lib/libcrypto/stack, branch master</title>
<subtitle>A mirror of https://github.com/libressl/openbsd.git
</subtitle>
<id>https://git.lua4.win/openbsd/atom?h=master</id>
<link rel='self' href='https://git.lua4.win/openbsd/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/'/>
<updated>2026-01-14T17:43:49+00:00</updated>
<entry>
<title>stack.c: avoid arithmetic on pointers to void</title>
<updated>2026-01-14T17:43:49+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2026-01-14T17:43:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=f3b7e1f8d7abce09c15e715e5f167b6f10d127de'/>
<id>urn:sha1:f3b7e1f8d7abce09c15e715e5f167b6f10d127de</id>
<content type='text'>
In stack.c r1.34 I converted one 'char *' too many to 'void *', thereby
relying on a gcc/clang extension which interprets the fictional void
type as a type of size 1 (that's what the stack code wants, fortunately).
As pointed out in the link below, -Wpointer-arith would have caught this:
https://gcc.gnu.org/onlinedocs/gcc/Pointer-Arith.html

MSVC flags this as follows:

D:\a\portable\portable\crypto\stack\stack.c(211,23): error C2036: 'const void *': unknown size [D:\a\portable\portable\build\crypto\crypto_obj.vcxproj].

Pull in workaround from the portable repo which undoes the char * -&gt; void *
conversion.

ok jsing millert
</content>
</entry>
<entry>
<title>stack: switch data from char ** to void **</title>
<updated>2025-12-21T07:35:11+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2025-12-21T07:35:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=c58dfc9c3fb284d9e07336a2d910134ea05b7aea'/>
<id>urn:sha1:c58dfc9c3fb284d9e07336a2d910134ea05b7aea</id>
<content type='text'>
ok jsing kenjiro
</content>
</entry>
<entry>
<title>Remove now unnecessary initialization of c and i</title>
<updated>2025-01-03T08:04:16+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2025-01-03T08:04:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=585d9b40d717a05e39f16382d7ca6e40e9aefdcd'/>
<id>urn:sha1:585d9b40d717a05e39f16382d7ca6e40e9aefdcd</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Remove unnecessary early return if num == 0</title>
<updated>2025-01-03T08:03:28+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2025-01-03T08:03:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=4f04de59bdd16de730e18ee8372874f8f98e7036'/>
<id>urn:sha1:4f04de59bdd16de730e18ee8372874f8f98e7036</id>
<content type='text'>
Review feedback by jsing
</content>
</entry>
<entry>
<title>Make obj_bsearch_ex() resemble libc bsearch() a bit more</title>
<updated>2025-01-03T08:00:43+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2025-01-03T08:00:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=fb34c694615a947da315c5105c1158cc050c0487'/>
<id>urn:sha1:fb34c694615a947da315c5105c1158cc050c0487</id>
<content type='text'>
ok jsing
</content>
</entry>
<entry>
<title>Remove flags argument from obj_bsearch_ex()</title>
<updated>2024-12-28T19:07:24+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2024-12-28T19:07:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=4b77b1208d30ecc98cd3520620366c84fa5ec11d'/>
<id>urn:sha1:4b77b1208d30ecc98cd3520620366c84fa5ec11d</id>
<content type='text'>
The only caller passes in OBJ_BSEARCH_FIRST_VALUE_ON_MATCH, so the
condition involving this flag is always true. On the other hand,
while OBJ_BSEARCh_VALUE_ON_NOMATCH is left unset hence the condition
involving this flag is also true (since negated).

ok jsing
</content>
</entry>
<entry>
<title>stack: inline internal_find() in sk_find()</title>
<updated>2024-12-28T16:10:39+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2024-12-28T16:10:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=40ef9115554c7a9b98c5dd6d2c9e4f9f36b9142b'/>
<id>urn:sha1:40ef9115554c7a9b98c5dd6d2c9e4f9f36b9142b</id>
<content type='text'>
internal_find() was a generalization needed for sk_find_ex(), which was
removed a while ago.

ok jsing
</content>
</entry>
<entry>
<title>Remove a few no longer used sk_FOO_* stanzas</title>
<updated>2024-03-02T11:22:48+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2024-03-02T11:22:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=5be6fed8afd6b03e5a92d68881bc11c7ae195c16'/>
<id>urn:sha1:5be6fed8afd6b03e5a92d68881bc11c7ae195c16</id>
<content type='text'>
ok jsing
</content>
</entry>
<entry>
<title>Remove sk_find_ex()</title>
<updated>2024-03-02T11:20:36+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2024-03-02T11:20:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=b56b72805aa516348080e8769435cb6cae2c3c5d'/>
<id>urn:sha1:b56b72805aa516348080e8769435cb6cae2c3c5d</id>
<content type='text'>
This API intends to find the closest match to the needle. M2Crypto
exposes it because it can. This will be fixed by patching the port.

ok jsing
</content>
</entry>
<entry>
<title>Make LHASH_OF() and STACK_OF() use opaque structs</title>
<updated>2024-03-02T11:11:11+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2024-03-02T11:11:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=26367add3db68a3e89bda58a3c85174507f8e71a'/>
<id>urn:sha1:26367add3db68a3e89bda58a3c85174507f8e71a</id>
<content type='text'>
This removes internals of these two special snowflakes and will allow
further simplifications. Unfortunately, there are some pieces of
software that actually use LHASH_OF() (looking at you, pound, Ruby, and
openssl(1)), so we get to keep exposing this garbage, at least for now.

Expose lh_error() as a symbol to replace a macro reaching into _LHASH.
lh_down_load() is no longer available. _LHASH and _STACK are now opaque,
LHASH_NODE becomes internal-only.

from jsing
</content>
</entry>
</feed>
