Skip to content

Client crashes if app adds any functions to Array.prototype (or Object.prototype) #5

@yankov

Description

@yankov

Code to reproduce

Array.prototype.include = function(value) {};

var kafka = require('kafka')

new kafka.Consumer().connect().subscribeTopic('juggernaut')
console.log("Consumed message:", message)
})

Throws

TypeError: Cannot read property 'length' of undefined
at [object Object]._encodeFetchRequest (/Users/yankov/ruby/fix/node_modules/kafka/lib/Client.js:99:26)
at [object Object]. (/Users/yankov/ruby/fix/node_modules/kafka/lib/Client.js:33:16)
at Object.encode (native)
at [object Object]._writeRequest (/Users/yankov/ruby/fix/node_modules/kafka/lib/Client.js:94:55)
at [object Object]._onConnect (/Users/yankov/ruby/fix/node_modules/kafka/lib/Client.js:85:34)
at Socket.bound (/Users/yankov/ruby/fix/node_modules/kafka/node_modules/std/bind.js:47:17)
at Socket.emit (events.js:81:20)
at Socket._onConnect (net.js:588:12)
at IOWatcher.onWritable as callback

It looks like when iterating topics it gets functions from Array for some reason and then tries to threat them as real topics.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions