Summary: | net-im/licq: Fix null pointer accesses in googletest framework | ||||||||
---|---|---|---|---|---|---|---|---|---|
Product: | Ports & Packages | Reporter: | Dimitry Andric <dim> | ||||||
Component: | Individual Port(s) | Assignee: | freebsd-ports-bugs (Nobody) <ports-bugs> | ||||||
Status: | Closed FIXED | ||||||||
Severity: | Affects Only Me | ||||||||
Priority: | --- | ||||||||
Version: | Latest | ||||||||
Hardware: | Any | ||||||||
OS: | Any | ||||||||
Bug Depends on: | |||||||||
Bug Blocks: | 255570 | ||||||||
Attachments: |
|
Description
Dimitry Andric
2021-05-15 22:58:45 UTC
Created attachment 224983 [details]
Fix googletest null pointer accesses
Attaching again, since bugzilla misdetected the file type.
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/ports/commit/?id=4572c48fc4d2a3326e85380b3f658dc8e1721817 commit 4572c48fc4d2a3326e85380b3f658dc8e1721817 Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2021-05-15 22:49:52 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2021-06-06 18:13:58 +0000 net-im/licq: apply googletest patches which fix null pointer accesses During an exp-run for llvm 12 (see bug 255570), it turned out that net-im/licq does not build with clang 12.0.0: [ 92%] Running unit test cd /wrkdirs/usr/ports/net-im/licq/work/.build/src && /usr/local/bin/ctest Test project /wrkdirs/usr/ports/net-im/licq/work/.build/src Start 1: licq 1/1 Test #1: licq .............................***Exception: SegFault 0.03 sec This is due to licq using a relatively ancient version of googletest, which has a few issues with more modern compilers. In particular, it does not handle mocking methods with move-only return types, and in the case of this port, this leads to a null pointer access and consequently a segfault. To fix the null pointer accesses, apply a few upstream googletest commits. Approved by: maintainer timeout (2 weeks) PR: 255915 MFH: 2021Q2 net-im/licq/Makefile | 2 +- ...party_gmock_include_gmock_gmock-actions.h (new) | 92 +++++++++++ ...gmock_include_gmock_gmock-spec-builders.h (new) | 183 +++++++++++++++++++++ ...ude_gmock_internal_gmock-internal-utils.h (new) | 38 +++++ ...3rdparty_gmock_src_gmock-spec-builders.cc (new) | 29 ++++ ...gtest_include_gtest_internal_gtest-port.h (new) | 34 ++++ 6 files changed, 377 insertions(+), 1 deletion(-) |