forked from rpms/openscap
parent
fadaeaa616
commit
969231da3e
@ -1 +1 @@
|
|||||||
SOURCES/openscap-1.3.8.tar.gz
|
SOURCES/openscap-1.3.10.tar.gz
|
||||||
|
@ -1 +1 @@
|
|||||||
1d1370ea1c4ada69eb4cd591bd4f411bd7a19a1a SOURCES/openscap-1.3.8.tar.gz
|
35917d469c9f490a098958a9b70de12a212472f0 SOURCES/openscap-1.3.10.tar.gz
|
||||||
|
@ -1,45 +0,0 @@
|
|||||||
From 299e344b245e8d1b3a31a58275e0e8d0aa01ed77 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Evgeny Kolesnikov <ekolesni@redhat.com>
|
|
||||||
Date: Sat, 8 Jul 2023 07:05:31 +0200
|
|
||||||
Subject: [PATCH] OVAL/sysctl: Fix offline mode
|
|
||||||
|
|
||||||
The initial implementation was buggy: after correctly traversing
|
|
||||||
prefixed PREFIX/proc/sys directory tree it would incorrectly read
|
|
||||||
the data from the non-prefixed directory tree.
|
|
||||||
---
|
|
||||||
src/OVAL/probes/unix/sysctl_probe.c | 13 ++++++++++---
|
|
||||||
1 file changed, 10 insertions(+), 3 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/src/OVAL/probes/unix/sysctl_probe.c b/src/OVAL/probes/unix/sysctl_probe.c
|
|
||||||
index 65d4bd0609..b7c68a0378 100644
|
|
||||||
--- a/src/OVAL/probes/unix/sysctl_probe.c
|
|
||||||
+++ b/src/OVAL/probes/unix/sysctl_probe.c
|
|
||||||
@@ -150,10 +150,14 @@ int sysctl_probe_main(probe_ctx *ctx, void *probe_arg)
|
|
||||||
while ((ofts_ent = oval_fts_read(ofts)) != NULL) {
|
|
||||||
SEXP_t *se_mib;
|
|
||||||
char mibpath[PATH_MAX], *mib;
|
|
||||||
- size_t miblen;
|
|
||||||
+ size_t miblen, mibstart;
|
|
||||||
struct stat file_stat;
|
|
||||||
|
|
||||||
- snprintf(mibpath, sizeof mibpath, "%s/%s", ofts_ent->path, ofts_ent->file);
|
|
||||||
+ if (prefix != NULL) {
|
|
||||||
+ snprintf(mibpath, sizeof mibpath, "%s/%s/%s", prefix, ofts_ent->path, ofts_ent->file);
|
|
||||||
+ } else {
|
|
||||||
+ snprintf(mibpath, sizeof mibpath, "%s/%s", ofts_ent->path, ofts_ent->file);
|
|
||||||
+ }
|
|
||||||
|
|
||||||
/* Skip write-only files, eg. /proc/sys/net/ipv4/route/flush */
|
|
||||||
if (stat(mibpath, &file_stat) == -1) {
|
|
||||||
@@ -168,7 +172,10 @@ int sysctl_probe_main(probe_ctx *ctx, void *probe_arg)
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
- mib = strdup(mibpath + strlen(PROC_SYS_DIR) + 1);
|
|
||||||
+ mibstart = 0;
|
|
||||||
+ mibstart += prefix != NULL ? strlen(prefix)+1 : 0;
|
|
||||||
+ mibstart += strlen(PROC_SYS_DIR)+1;
|
|
||||||
+ mib = strdup(mibpath + mibstart);
|
|
||||||
miblen = strlen(mib);
|
|
||||||
|
|
||||||
while (miblen > 0) {
|
|
Loading…
Reference in new issue