From b2fdbc53e826bb895ed320ef7c94e09895bac85a Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Thu, 28 May 2026 14:40:58 -0400 Subject: [PATCH] fix: parse qa parent pid strictly --- src/cli/gateway-cli/qa-parent-watchdog.test.ts | 4 ++++ src/cli/gateway-cli/qa-parent-watchdog.ts | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/cli/gateway-cli/qa-parent-watchdog.test.ts b/src/cli/gateway-cli/qa-parent-watchdog.test.ts index 06ea7d592fc..52569a11961 100644 --- a/src/cli/gateway-cli/qa-parent-watchdog.test.ts +++ b/src/cli/gateway-cli/qa-parent-watchdog.test.ts @@ -13,6 +13,10 @@ describe("installQaParentWatchdog", () => { expect( installQaParentWatchdog({ env: { [QA_PARENT_PID_ENV]: "not-a-pid" }, ownPid: 10 }), ).toBeNull(); + expect( + installQaParentWatchdog({ env: { [QA_PARENT_PID_ENV]: "0x10" }, ownPid: 10 }), + ).toBeNull(); + expect(installQaParentWatchdog({ env: { [QA_PARENT_PID_ENV]: "1e3" }, ownPid: 10 })).toBeNull(); }); it("exits when the QA parent process disappears", async () => { diff --git a/src/cli/gateway-cli/qa-parent-watchdog.ts b/src/cli/gateway-cli/qa-parent-watchdog.ts index dd62e339694..ca85454e84a 100644 --- a/src/cli/gateway-cli/qa-parent-watchdog.ts +++ b/src/cli/gateway-cli/qa-parent-watchdog.ts @@ -40,7 +40,7 @@ function resolveQaParentPid(env: NodeJS.ProcessEnv, ownPid: number): number | nu if (!raw) { return null; } - const parentPid = Number(raw); + const parentPid = /^\d+$/.test(raw) ? Number(raw) : Number.NaN; if (!Number.isSafeInteger(parentPid) || parentPid <= 0 || parentPid === ownPid) { return null; }