Skip to content

Commit 44a3acb

Browse files
committed
report: improve signal name validation
PR-URL: #27137 Reviewed-By: Richard Lau <[email protected]> Reviewed-By: Ben Noordhuis <[email protected]> Reviewed-By: Ruben Bridgewater <[email protected]> Reviewed-By: Jeremiah Senkpiel <[email protected]>
1 parent 5b9e570 commit 44a3acb

File tree

2 files changed

+12
-5
lines changed

2 files changed

+12
-5
lines changed

lib/internal/process/report.js

+2-4
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
11
'use strict';
2-
const { convertToValidSignal } = require('internal/util');
32
const {
43
ERR_INVALID_ARG_TYPE,
54
ERR_SYNTHETIC
65
} = require('internal/errors').codes;
7-
const { validateString } = require('internal/validators');
6+
const { validateSignalName, validateString } = require('internal/validators');
87
const nr = internalBinding('report');
98
const report = {
109
writeReport(file, err) {
@@ -47,8 +46,7 @@ const report = {
4746
return nr.getSignal();
4847
},
4948
set signal(sig) {
50-
validateString(sig, 'signal');
51-
convertToValidSignal(sig); // Validate that the signal is recognized.
49+
validateSignalName(sig, 'signal');
5250
removeSignalHandler();
5351
addSignalHandler(sig);
5452
nr.setSignal(sig);

test/report/test-report-config.js

+10-1
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,16 @@ if (!common.isWindows) {
6868
}, { code: 'ERR_INVALID_ARG_TYPE' });
6969
common.expectsError(() => {
7070
process.report.signal = 'foo';
71-
}, { code: 'ERR_UNKNOWN_SIGNAL' });
71+
}, {
72+
code: 'ERR_UNKNOWN_SIGNAL',
73+
message: 'Unknown signal: foo'
74+
});
75+
common.expectsError(() => {
76+
process.report.signal = 'sigusr1';
77+
}, {
78+
code: 'ERR_UNKNOWN_SIGNAL',
79+
message: 'Unknown signal: sigusr1 (signals must use all capital letters)'
80+
});
7281
assert.strictEqual(process.report.signal, 'SIGUSR2');
7382
process.report.signal = 'SIGUSR1';
7483
assert.strictEqual(process.report.signal, 'SIGUSR1');

0 commit comments

Comments
 (0)