summaryrefslogtreecommitdiffstats
path: root/gnu/llvm/lib/Object/ELF.cpp
diff options
context:
space:
mode:
authorschwarze <schwarze@openbsd.org>2018-04-04 11:59:26 +0000
committerschwarze <schwarze@openbsd.org>2018-04-04 11:59:26 +0000
commitfe9d422b5e8e43d0432eae70988653a461f15656 (patch)
tree3056c993d88cabe97cab65c753abc9d7cea91dbc /gnu/llvm/lib/Object/ELF.cpp
parentTEST_LOG is owned by bsd.port.mk, actually (diff)
downloadwireguard-openbsd-fe9d422b5e8e43d0432eae70988653a461f15656.tar.xz
wireguard-openbsd-fe9d422b5e8e43d0432eae70988653a461f15656.zip
Fix two bugs in X509_NAME_add_entry(3):
(1) Evaluate the "set" argument, which says whether to create a new RDN or to prepend or append to an existing one, before reusing it for a different purpose, i.e. for the "set" field of the new X509_NAME_ENTRY structure. (2) When incrementing of some "set" fields is needed, increment the correct ones: All those to the right of the newly inserted entry, but not the one of that entry itself. These two bugs caused wrong results whenever using loc != -1, i.e. whenever inserting rather than appending entries, even when using set == 0 only, that is, even when using single-values RDNs only. Both bugs have been continuously present since at least SSLeay-0.8.1 (released July 18, 1997) and the second one since at least SSLeay-0.8.0 (released June 25, 1997), so both are over twenty years old. I found these bugs by code inspection while trying to document the function X509_NAME_ENTRY_set(3), which is public, but undocumented in OpenSSL. OK beck@, jsing@
Diffstat (limited to 'gnu/llvm/lib/Object/ELF.cpp')
0 files changed, 0 insertions, 0 deletions