summaryrefslogtreecommitdiff
path: root/user/node/env-nullptr-backport.patch
blob: 02878dc25af78c34fe3f7c30ad3c2e9231f54bde (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
From 8214cc175f0c4e600a3af5cedd94e4fd4d8d839e Mon Sep 17 00:00:00 2001
From: "A. Wilcox" <AWilcox@Wilcox-Tech.com>
Date: Sat, 17 Dec 2022 19:39:01 -0600
Subject: [PATCH] env: check size of args before using for exec_path

If we are in an artifically created Environment that has no args set,
and uv_exepath returns an error (for instance, if /proc is not mounted
on a Linux system), then we crash with a nullptr deref attempting to
use argv[0].

Fixes: https://github.com/nodejs/node/issues/45901
---
 src/env.cc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/env.cc b/src/env.cc
index 5172d71ad6a6..97e0ac581113 100644
--- node-v16.15.0/src/env.cc.old	2022-04-26 22:03:30.000000000 +0000
+++ node-v16.15.0/src/env.cc	2022-12-18 01:19:23.417720353 +0000
@@ -309,7 +309,7 @@
   std::string exec_path;
   if (uv_exepath(exec_path_buf, &exec_path_len) == 0) {
     exec_path = std::string(exec_path_buf, exec_path_len);
-  } else {
+  } else if (argv.size() > 0) {
     exec_path = argv[0];
   }