Bug 1686488

Summary: 'make test' fails with stringop-overflow error
Product: Red Hat Enterprise Linux 8 Reporter: Anna Khaitovich <akhaitov>
Component: http-parserAssignee: Sergio Correia <scorreia>
Status: CLOSED ERRATA QA Contact: Anna Khaitovich <akhaitov>
Severity: low Docs Contact:
Priority: low    
Version: 8.0Keywords: EasyFix, Triaged
Target Milestone: rc   
Target Release: 8.1   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-11-05 21:26:32 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 1682249    
Bug Blocks:    
Attachments:
Description Flags
Remove unused functions from test runner none

Description Anna Khaitovich 2019-03-07 14:45:45 UTC
Description of problem:
Can't compile testsuite because of -Werror=stringop-overflow error

Version-Release number of selected component (if applicable):
http-parser-2.8.0-2.el8

How reproducible:
Always

Steps to Reproduce:
1. rpm -i http-parser-2.8.0-2.el8.src.rpm
2. yum-builddep -y ~/rpmbuild/SPECS/*.spec
3. rpmbuild -bp ~/rpmbuild/SPECS/http-parser.spec
4. pushd ~/rpmbuild/BUILD/*
5. make test

Actual results:
make[1]: Entering directory '/tmp/tmp.zwJ0akD2W1/BUILD/http-parser-2.8.0'
cc  -I. -DHTTP_PARSER_STRICT=1  -Wall -Wextra -Werror -O0 -g  -c http_parser.c -o http_parser_g.o
cc  -I. -DHTTP_PARSER_STRICT=1  -Wall -Wextra -Werror -O0 -g  -c test.c -o test_g.o
cc -Wall -Wextra -Werror -O0 -g   http_parser_g.o test_g.o -o test_g
cc  -I. -DHTTP_PARSER_STRICT=0  -Wall -Wextra -Werror -O3  -c http_parser.c
cc  -I. -DHTTP_PARSER_STRICT=0  -Wall -Wextra -Werror -O3  -c test.c -o test.o
In function ‘strnlen’,
    inlined from ‘strlncat’ at test.c:1982:10,
    inlined from ‘strlcat’ at test.c:1999:10:
test.c:1967:7: error: ‘memchr’ specified size 18446744073709551615 exceeds maximum object size 9223372036854775807 [-Werror=stringop-overflow=]
   p = memchr(s, '\0', maxlen);
       ^~~~~~~~~~~~~~~~~~~~~~~
In function ‘strnlen’,
    inlined from ‘strlncpy’ at test.c:2008:10,
    inlined from ‘strlcpy’ at test.c:2023:10:
test.c:1967:7: error: ‘memchr’ specified size 18446744073709551615 exceeds maximum object size 9223372036854775807 [-Werror=stringop-overflow=]
   p = memchr(s, '\0', maxlen);
       ^~~~~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
make[1]: *** [Makefile:92: test.o] Error 1
make[1]: Leaving directory '/tmp/tmp.zwJ0akD2W1/BUILD/http-parser-2.8.0'

Expected results:
Tests built, run and pass successfully

Additional info:

Comment 1 Daniel Kopeček 2019-03-07 15:22:37 UTC
Thanks for the report. This looks easy to fix even though I haven't looked into the code yet.
Is this issue blocking something else? I'm asking so that I know how to prioritize this bug.

Comment 2 Sergio Correia 2019-08-12 12:08:32 UTC
Created attachment 1602913 [details]
Remove unused functions from test runner

'make test' was failing with stringop-overflow error, however, the issue happened with functions that were not even used, so remove them.

Comment 6 errata-xmlrpc 2019-11-05 21:26:32 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHSA-2019:3497