github / github/codeql

LGTM.com - false positive: JS type of `console.log` variable incorrectly detected

Open
#2,666 0 comments 0 reactions 0 assignees View on GitHub
false-positive JS
Dominant language
CodeQL
Stars
10.1k
Forks
2.1k
Avg merge
2d 15h
Merged PRs (30d)
141

Description

**Description of the false positive**

The variable is defined with `var originalLog = console.log;`. `typeof console.log` is `function` or `object` (an exotic implementation object that is callable) depending on the browser.

The warning says it has type "boolean, date, number, object, regular expression or string" - there's a few problems with this:
1. Dates and RegExps are *not* a type in JS (and if they are, Arrays, Maps, Sets, Promises, etc are too)
1. this is also missing `symbol` and `bigint`
1. Given the possible exotic type of `console.log` as `object` - a callable object - this is not actually a valid warning.

**URL to the alert on the project page on LGTM.com**

https://lgtm.com/projects/g/substack/testling/snapshot/8d454f8d81bb0e84b06879a4506e530b8bdc87ac/files/browser/prelude.js?sort=name&dir=ASC&mode=heatmap#x1b735cba61dcb9a1:1

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.