Backport applicable private-pcp security fixes to PCP 6.3.7 for RHEL 9.9. CVE-2026-16531 is not applicable because the pmproxy logger servlet is absent in this release. Resolves: RHEL-213747 CVE-2026-16530 Resolves: RHEL-213736 CVE-2026-16529 Resolves: RHEL-213711 CVE-2026-16527 Resolves: RHEL-213687 CVE-2026-16526 Resolves: RHEL-213658 CVE-2026-16524 Co-authored-by: Cursor <cursoragent@cursor.com>
45 lines
1.3 KiB
Diff
45 lines
1.3 KiB
Diff
From be9ade9950 Mon Sep 17 00:00:00 2001
|
|
From: Nathan Scott <nathans@redhat.com>
|
|
Subject: [PATCH] qa/src/scanmeta.c: fix call to __pmLogLoadInDom()
|
|
|
|
scanmeta was *using* the acp == NULL guard to dodge the rlen test and
|
|
calling with rlen == 0 (this QA app was simply assuming the record
|
|
was valid, at least to the point that the buffer could be correctly
|
|
decoded).
|
|
|
|
Fix involves re-extracting the correct record length and calling
|
|
__pmLogLoadInDom() with rlen != 0.
|
|
|
|
---
|
|
diff --git a/qa/src/scanmeta.c b/qa/src/scanmeta.c
|
|
index 1f884ecbb6..3e65fb5028 100644
|
|
--- a/qa/src/scanmeta.c
|
|
+++ b/qa/src/scanmeta.c
|
|
@@ -143,7 +143,7 @@ free_elt_fields(elt_t *ep)
|
|
}
|
|
|
|
void
|
|
-do_indom(__int32_t *buf, int type)
|
|
+do_indom(__int32_t *buf, int type, int len)
|
|
{
|
|
int sts;
|
|
static __pmTimestamp prior_stamp = { 0, 0 };
|
|
@@ -156,7 +156,7 @@ do_indom(__int32_t *buf, int type)
|
|
elt_t *tp;
|
|
elt_t *dp = &dup;
|
|
|
|
- if ((sts = __pmLogLoadInDom(NULL, 0, type, &lid, &buf)) < 0) {
|
|
+ if ((sts = __pmLogLoadInDom(NULL, len, type, &lid, &buf)) < 0) {
|
|
fprintf(stderr, "__pmLoadLoadInDom: failed: %s\n", pmErrStr(sts));
|
|
return;
|
|
}
|
|
@@ -689,7 +689,7 @@ main(int argc, char *argv[])
|
|
case TYPE_INDOM_V2:
|
|
if (!iflag)
|
|
break;
|
|
- do_indom(buf, hdr.type);
|
|
+ do_indom(buf, hdr.type, hdr.len);
|
|
break;
|
|
|
|
case TYPE_LABEL:
|