tests: don't abort in fopen(/proc/mounts)

The mock fopen() function will abort if "/proc/mounts" is
requested with "r" permissions and VIR_CGROUP_MOCK_FILENAME
env var is not set.

Unfortunately this is triggering by the libselinux library
constructor when it tries to read /proc/mounts to find out
if selinuxfs is mounted in an unusual place.

This, however, only affects libselinux in Debian as that
opens with "r", while in Fedora / RHEL it opens "re" and
thus luckily never triggered the abort(), instead getting
an EACCESS.

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
This commit is contained in:
Daniel P. Berrangé 2019-03-26 14:55:36 +00:00
parent a6d822cee3
commit 598641f460

View File

@ -460,8 +460,10 @@ FILE *fopen(const char *path, const char *mode)
}
if (type) {
if (!filename)
abort();
if (!filename) {
errno = EACCES;
return NULL;
}
if (virAsprintfQuiet(&filepath, "%s/vircgroupdata/%s.%s",
abs_srcdir, filename, type) < 0) {
abort();