aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcjihrig <cjihrig@gmail.com>2019-04-08 13:23:36 -0400
committercjihrig <cjihrig@gmail.com>2019-04-10 20:36:10 -0400
commit44a3acb6272accf6296be521ff2f626514874acc (patch)
tree5e92ed8f62a0b4dc5fb8e376ad5ec7850381f59c
parent5b9e57012a5c4d4132700e3c345dceb08ba947ed (diff)
downloadandroid-node-v8-44a3acb6272accf6296be521ff2f626514874acc.tar.gz
android-node-v8-44a3acb6272accf6296be521ff2f626514874acc.tar.bz2
android-node-v8-44a3acb6272accf6296be521ff2f626514874acc.zip
report: improve signal name validation
PR-URL: https://github.com/nodejs/node/pull/27137 Reviewed-By: Richard Lau <riclau@uk.ibm.com> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
-rw-r--r--lib/internal/process/report.js6
-rw-r--r--test/report/test-report-config.js11
2 files changed, 12 insertions, 5 deletions
diff --git a/lib/internal/process/report.js b/lib/internal/process/report.js
index 19820efa93..251c32a109 100644
--- a/lib/internal/process/report.js
+++ b/lib/internal/process/report.js
@@ -1,10 +1,9 @@
'use strict';
-const { convertToValidSignal } = require('internal/util');
const {
ERR_INVALID_ARG_TYPE,
ERR_SYNTHETIC
} = require('internal/errors').codes;
-const { validateString } = require('internal/validators');
+const { validateSignalName, validateString } = require('internal/validators');
const nr = internalBinding('report');
const report = {
writeReport(file, err) {
@@ -47,8 +46,7 @@ const report = {
return nr.getSignal();
},
set signal(sig) {
- validateString(sig, 'signal');
- convertToValidSignal(sig); // Validate that the signal is recognized.
+ validateSignalName(sig, 'signal');
removeSignalHandler();
addSignalHandler(sig);
nr.setSignal(sig);
diff --git a/test/report/test-report-config.js b/test/report/test-report-config.js
index 796f63d2b8..6d33851416 100644
--- a/test/report/test-report-config.js
+++ b/test/report/test-report-config.js
@@ -68,7 +68,16 @@ if (!common.isWindows) {
}, { code: 'ERR_INVALID_ARG_TYPE' });
common.expectsError(() => {
process.report.signal = 'foo';
- }, { code: 'ERR_UNKNOWN_SIGNAL' });
+ }, {
+ code: 'ERR_UNKNOWN_SIGNAL',
+ message: 'Unknown signal: foo'
+ });
+ common.expectsError(() => {
+ process.report.signal = 'sigusr1';
+ }, {
+ code: 'ERR_UNKNOWN_SIGNAL',
+ message: 'Unknown signal: sigusr1 (signals must use all capital letters)'
+ });
assert.strictEqual(process.report.signal, 'SIGUSR2');
process.report.signal = 'SIGUSR1';
assert.strictEqual(process.report.signal, 'SIGUSR1');