Actions
Bug #3494
closedDetection of privilege drop/elevation is broken
Start date:
Due date:
% Done:
0%
Estimated time:
Description
We're supplying nullptr
where a non-null pointer is required.
Checking if privilege drop/elevation is supported
==>
#include <unistd.h>
#include <pwd.h>
#include <grp.h>
int
main(int, char**)
{
::sysconf(_SC_GETGR_R_SIZE_MAX);
group grp;
getgrnam_r("nogroup", &grp, nullptr, 0, nullptr);
passwd pwd;
getpwnam_r("nobody", &pwd, nullptr, 0, nullptr);
int ret = setegid(grp.gr_gid);
ret = seteuid(pwd.pw_uid);
(void)(ret);
return 0;
}
<==
[1/2] Compiling build/.conf_check_e46c61fb80ccd95766eb2f772067a5f2/test.cpp
['/usr/bin/g++', '-O0', '-g3', '-pedantic', '-Wall', '-Wextra', '-Werror', '-Wno-unused-parameter', '-Wno-error=maybe-uninitialized', '-Wno-missing-field-initializers', '-Og', '-fdiagnostics-color', '-std=c++11', '-D_DEBUG', '-DHAVE_IS_DEFAULT_CONSTRUCTIBLE=1', '-DHAVE_IS_MOVE_CONSTRUCTIBLE=1', '-DHAVE_CXX_OVERRIDE=1', '-DHAVE_CXX_FINAL=1', '-DHAVE_CXX_CLASS_FINAL=1', '-DHAVE_LIBRT=1', '-DHAVE_LIBRESOLV=1', '../test.cpp', '-c', '-o', '/home/davide/NFD/build/.conf_check_e46c61fb80ccd95766eb2f772067a5f2/testbuild/test.cpp.1.o']
err: ../test.cpp: In function ‘int main(int, char**)’:
../test.cpp:12:49: error: null argument where non-null required (argument 3) [-Werror=nonnull]
getpwnam_r("nobody", &pwd, nullptr, 0, nullptr);
^
../test.cpp:12:49: error: null argument where non-null required (argument 5) [-Werror=nonnull]
cc1plus: all warnings being treated as errors
from /home/davide/NFD: Test does not build: Traceback (most recent call last):
File "/home/davide/NFD/.waf3-1.8.9-8a9ccbc1c5d3936b0b08e972e4883a9a/waflib/Configure.py", line 343, in run_build
bld.compile()
File "/home/davide/NFD/.waf3-1.8.9-8a9ccbc1c5d3936b0b08e972e4883a9a/waflib/Build.py", line 184, in compile
raise Errors.BuildError(self.producer.error)
waflib.Errors.BuildError: Build failed
Actions