net.js: don't pretend that everything is okay when unwrapping fails
authorBert Belder <bertbelder@gmail.com>
Tue, 8 May 2012 18:17:54 +0000 (20:17 +0200)
committerBert Belder <bertbelder@gmail.com>
Wed, 9 May 2012 01:56:06 +0000 (03:56 +0200)
In case of an UNWRAP failure, the binding returns -1, which is truthy.

lib/net.js

index 3acaf8a..4ebc940 100644 (file)
@@ -512,7 +512,7 @@ Socket.prototype._write = function(data, encoding, cb) {
   // `encoding` is unused right now, `data` is always a buffer.
   var writeReq = this._handle.write(data);
 
-  if (!writeReq) {
+  if (!writeReq || typeof writeReq !== 'object') {
     this._destroy(errnoException(errno, 'write'), cb);
     return false;
   }