From c851ca05584b9fe40e286daabb0976d51e864e79 Mon Sep 17 00:00:00 2001 From: David Dias Date: Thu, 9 Mar 2017 08:43:53 +0000 Subject: [PATCH] fix(files.add): error on invalid input (#782) --- src/core/components/files.js | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/core/components/files.js b/src/core/components/files.js index 908fe2b5bf..7f142edf18 100644 --- a/src/core/components/files.js +++ b/src/core/components/files.js @@ -4,7 +4,6 @@ const unixfsEngine = require('ipfs-unixfs-engine') const importer = unixfsEngine.importer const exporter = unixfsEngine.exporter const UnixFS = require('ipfs-unixfs') -const isStream = require('isstream') const promisify = require('promisify-es6') const multihashes = require('multihashes') const pull = require('pull-stream') @@ -13,6 +12,7 @@ const toStream = require('pull-stream-to-stream') const toPull = require('stream-to-pull-stream') const CID = require('cids') const waterfall = require('async/waterfall') +const isStream = require('isstream') module.exports = function files (self) { const createAddPullStream = (options) => { @@ -43,6 +43,12 @@ module.exports = function files (self) { callback = noop } + if (typeof data !== 'object' && + !Buffer.isBuffer(data) && + !isStream(data)) { + return callback(new Error('Invalid arguments, data must be an object, Buffer or readable stream')) + } + pull( pull.values(normalizeContent(data)), importer(self._ipldResolver, options),