diff --git a/lib/os.js b/lib/os.js index 9f062fea04d..5e53879bd6d 100644 --- a/lib/os.js +++ b/lib/os.js @@ -25,6 +25,7 @@ const { ArrayPrototypePush, Float64Array, ObjectDefineProperties, + ObjectFreeze, StringPrototypeSlice, SymbolToPrimitive, } = primordials; @@ -330,6 +331,8 @@ module.exports = { machine: getMachine, }; +ObjectFreeze(constants.signals); + ObjectDefineProperties(module.exports, { constants: { __proto__: null, diff --git a/test/parallel/test-os-constants-signals.js b/test/parallel/test-os-constants-signals.js new file mode 100644 index 00000000000..a4fac1b6356 --- /dev/null +++ b/test/parallel/test-os-constants-signals.js @@ -0,0 +1,11 @@ +'use strict'; + +require('../common'); +const { test } = require('node:test'); +const assert = require('node:assert'); +const { constants } = require('node:os'); + + +test('Verify that signals constant is immutable', () => { + assert.throws(() => constants.signals.FOOBAR = 1337, TypeError); +});