diff --git a/lodash.js b/lodash.js index 41e1581cf..f63d1ee18 100644 --- a/lodash.js +++ b/lodash.js @@ -4678,7 +4678,7 @@ function getFuncName(func) { var result = (func.name + ''), array = realNames[result], - length = array ? array.length : 0; + length = hasOwnProperty.call(realNames, result) ? array.length : 0; while (length--) { var data = array[length], diff --git a/test/test.js b/test/test.js index 8bb1cfdf9..d79e128b0 100644 --- a/test/test.js +++ b/test/test.js @@ -3475,6 +3475,18 @@ assert.deepEqual(c(3), expected); assert.deepEqual(d(), expected); }); + + QUnit.test('should work when a function name matches function name on Object.prototype', function(assert) { + assert.expect(1); + + var curried = _.curry(function hasOwnProperty(a, b, c) { + return [a, b, c]; + }); + + var expected = [1, 2, 3]; + + assert.deepEqual(curried(1)(2)(3), expected); + }); }()); /*--------------------------------------------------------------------------*/