diff options
author | cjihrig <cjihrig@gmail.com> | 2019-04-08 13:23:36 -0400 |
---|---|---|
committer | cjihrig <cjihrig@gmail.com> | 2019-04-10 20:36:10 -0400 |
commit | 44a3acb6272accf6296be521ff2f626514874acc (patch) | |
tree | 5e92ed8f62a0b4dc5fb8e376ad5ec7850381f59c | |
parent | 5b9e57012a5c4d4132700e3c345dceb08ba947ed (diff) | |
download | android-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.js | 6 | ||||
-rw-r--r-- | test/report/test-report-config.js | 11 |
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'); |