fs: validate fd on fs.write

PR-URL: #1553
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
This commit is contained in:
Julian Duque 2015-04-28 15:15:41 -05:00
parent 509b59ea7c
commit f9c681cf62
2 changed files with 14 additions and 1 deletions

View File

@ -779,7 +779,9 @@ static void Open(const FunctionCallbackInfo<Value>& args) {
static void WriteBuffer(const FunctionCallbackInfo<Value>& args) {
Environment* env = Environment::GetCurrent(args);
CHECK(args[0]->IsInt32());
if (!args[0]->IsInt32())
return env->ThrowTypeError("First argument must be file descriptor");
CHECK(Buffer::HasInstance(args[1]));
int fd = args[0]->Int32Value();

View File

@ -0,0 +1,11 @@
const common = require('../common');
const fs = require('fs');
const assert = require('assert');
assert.throws(function() {
fs.write(null, new Buffer(1), 0, 1);
}, /TypeError/);
assert.throws(function() {
fs.write(null, '1', 0, 1);
}, /TypeError/);