@@ -1150,22 +1150,23 @@ void SetupProcessObject(Environment* env,
1150
1150
SECURITY_REVERSIONS (V)
1151
1151
#undef V
1152
1152
1153
- size_t exec_path_len = 2 * PATH_MAX;
1154
- char * exec_path = new char [exec_path_len];
1155
- Local<String> exec_path_value;
1156
- if (uv_exepath (exec_path, &exec_path_len) == 0 ) {
1157
- exec_path_value = String::NewFromUtf8 (env->isolate (),
1158
- exec_path,
1159
- NewStringType::kInternalized ,
1160
- exec_path_len).ToLocalChecked ();
1161
- } else {
1162
- exec_path_value = String::NewFromUtf8 (env->isolate (), args[0 ].c_str (),
1163
- NewStringType::kInternalized ).ToLocalChecked ();
1153
+ {
1154
+ size_t exec_path_len = 2 * PATH_MAX;
1155
+ std::vector<char > exec_path (exec_path_len);
1156
+ Local<String> exec_path_value;
1157
+ if (uv_exepath (exec_path.data (), &exec_path_len) == 0 ) {
1158
+ exec_path_value = String::NewFromUtf8 (env->isolate (),
1159
+ exec_path.data (),
1160
+ NewStringType::kInternalized ,
1161
+ exec_path_len).ToLocalChecked ();
1162
+ } else {
1163
+ exec_path_value = String::NewFromUtf8 (env->isolate (), args[0 ].c_str (),
1164
+ NewStringType::kInternalized ).ToLocalChecked ();
1165
+ }
1166
+ process->Set (env->context (),
1167
+ FIXED_ONE_BYTE_STRING (env->isolate (), " execPath" ),
1168
+ exec_path_value).FromJust ();
1164
1169
}
1165
- process->Set (env->context (),
1166
- FIXED_ONE_BYTE_STRING (env->isolate (), " execPath" ),
1167
- exec_path_value).FromJust ();
1168
- delete[] exec_path;
1169
1170
1170
1171
auto debug_port_string = FIXED_ONE_BYTE_STRING (env->isolate (), " debugPort" );
1171
1172
CHECK (process->SetAccessor (env->context (),
0 commit comments