Page MenuHomePhabricator Dev

Bad patch to test Harbormaster + code review
Needs ReviewPublic

Authored by Unknown Object (User) on Apr 5 2019, 9:26 AM.
Tags
None
Referenced Files
Unknown Object (File)
Sun, Oct 11, 10:00 AM
Unknown Object (File)
Wed, Oct 7, 6:25 AM
Unknown Object (File)
Aug 4 2026, 9:33 AM
Unknown Object (File)
Aug 3 2026, 8:41 PM
Unknown Object (File)
Aug 2 2026, 9:58 PM
Unknown Object (File)
Jul 22 2026, 5:36 AM
Unknown Object (File)
Jul 20 2026, 1:13 PM
Unknown Object (File)
Mar 14 2026, 9:17 PM
Subscribers

Details

Reviewers
marco
Bugzilla Bug ID
Not provided

Diff Detail

Repository
rMOZILLACENTRAL mozilla-central
Branch
default

Event Timeline

There are a very large number of changes, so older changes are hidden. Show Older Changes
browser/base/content/docs/tabbrowser/index.rst
7

Error: Exisits ==> exists [codespell]

devtools/client/definitions.js
7

Error: Operator '=' must be spaced. [eslint: space-infix-ops]

devtools/client/menus.js
31

Error: Use the global form of 'use strict'. [eslint: strict]

devtools/client/shared/scroll.js
7

Error: Parsing error: Unexpected character '#' [eslint]

js/ductwork/debugger/JSDebugger.cpp
46

Warning: Do not use 'else' after 'return' [clang-tidy: readability-else-after-return]

else if (!JS_IsGlobalObject(obj)) {  // after: readability-else-after-return
^~~~~
js/src/jsapi.cpp
210

Warning: Variable 'x' with floating point type 'float' should not be used as a loop counter [clang-tidy: clang-analyzer-security.FloatLoopCounter]

for (float x = 0.1f; x <= 1.0f; x += 0.1f) {
^
213

Calling "setuid" without checking return value (as is done elsewhere 1 out of 1 times).
The path that leads to this defect is:

  • js/src/jsapi.cpp:210:
    • path: Condition "x <= 1f", taking true branch..
  • js/src/jsapi.cpp:211:
    • path: Jumping back to the beginning of the loop..
  • js/src/jsapi.cpp:210:
    • path: Condition "x <= 1f", taking false branch..
  • js/src/jsapi.cpp:213:
    • check_return: Calling "setuid" without checking return value (as is done elsewhere 1 out of 1 times)..
213

Warning: The return value from the call to 'setuid' is not checked. If an error occurs in 'setuid', the following code may execute with unexpected privileges [clang-tidy: clang-analyzer-security.insecureAPI.UncheckedReturn]

setuid(1);  // after: clang-analyzer-security.insecureAPI.UncheckedReturn
^
218

Execution cannot reach this statement: ";".
The path that leads to this defect is:

  • js/src/jsapi.cpp:215:
    • assignment: Assigning: "x" = "0"..
  • js/src/jsapi.cpp:217:
    • const: At condition "x < y", the value of "x" must be equal to 0..
  • js/src/jsapi.cpp:216:
    • assignment: Assigning: "y" = "0"..
  • js/src/jsapi.cpp:217:
    • const: At condition "x < y", the value of "y" must be equal to 0..
  • js/src/jsapi.cpp:217:
    • dead_error_condition: The condition "x < y" cannot be true..
  • js/src/jsapi.cpp:218:
    • dead_error_line: Execution cannot reach this statement: ";"..
218

Warning: Potentially unintended semicolon [clang-tidy: bugprone-suspicious-semicolon]

;  // after: bugprone-suspicious-semicolon;
^~~
223

Warning: Use '= default' to define a trivial default constructor [clang-tidy: modernize-use-equals-default]

B() {}          // after: modernize-use-equals-default
^   ~~
    = default;
224

Warning: Use '= default' to define a trivial copy constructor [clang-tidy: modernize-use-equals-default]

B(const B&) {}  // after: modernize-use-equals-default
^           ~~
            = default;
230

Warning: Use '= default' to define a trivial copy constructor [clang-tidy: modernize-use-equals-default]

D(const D& RHS) : B(RHS) {}  // after: modernize-use-equals-default
^                 ~~~~~~~~~
                  = default;
232

Warning: Move constructor initializes base class by calling a copy constructor [clang-tidy: performance-move-constructor-init]

: B(RHS) {}  // after: performance-move-constructor-init;
  ^
toolkit/components/telemetry/build_scripts/gen_event_data.py
41

Error: At least two spaces before inline comment [flake8: E261]

41

Error: Missing whitespace around operator [flake8: E225]

41

Error: Line too long (177 > 99 characters) [flake8: E501]

65

Error: Continuation line under-indented for visual indent [flake8: E128]

Code analysis found 26 defects in this patch:

  • 15 defects found by clang-tidy
  • 2 defects found by Coverity
  • 9 defects found by mozlint

You can run this analysis locally with:

  • ./mach static-analysis check js/src/jsapi.cpp js/ductwork/debugger/JSDebugger.cpp (C/C++)
  • ./mach lint --warnings path/to/file (JS/Python/etc)

If you see a problem in this automated review, please report it here.

browser/base/content/docs/tabbrowser/index.rst
7

Error: Exisits ==> exists [codespell]

devtools/client/definitions.js
7

Error: Operator '=' must be spaced. [eslint: space-infix-ops]

devtools/client/menus.js
31

Error: Use the global form of 'use strict'. [eslint: strict]

41

Error: Unexpected tab character. [eslint: no-tabs]

devtools/client/shared/scroll.js
7

Error: Parsing error: Unexpected character '#' [eslint]

js/ductwork/debugger/JSDebugger.cpp
46

Warning: Do not use 'else' after 'return' [clang-tidy: readability-else-after-return]

else if (!JS_IsGlobalObject(obj)) {  // after: readability-else-after-return
^~~~~
js/src/jsapi.cpp
174

Warning: Do not use 'else' after 'return' [clang-tidy: readability-else-after-return]

else if (ErrorTakesArguments(
^~~~~
210

Warning: Variable 'x' with floating point type 'float' should not be used as a loop counter [clang-tidy: clang-analyzer-security.FloatLoopCounter]

for (float x = 0.1f; x <= 1.0f; x += 0.1f) {
^
213

Calling "setuid" without checking return value (as is done elsewhere 1 out of 1 times).
The path that leads to this defect is:

  • js/src/jsapi.cpp:210:
    • path: Condition "x <= 1f", taking true branch..
  • js/src/jsapi.cpp:211:
    • path: Jumping back to the beginning of the loop..
  • js/src/jsapi.cpp:210:
    • path: Condition "x <= 1f", taking false branch..
  • js/src/jsapi.cpp:213:
    • check_return: Calling "setuid" without checking return value (as is done elsewhere 1 out of 1 times)..
213

Warning: The return value from the call to 'setuid' is not checked. If an error occurs in 'setuid', the following code may execute with unexpected privileges [clang-tidy: clang-analyzer-security.insecureAPI.UncheckedReturn]

setuid(1);  // after: clang-analyzer-security.insecureAPI.UncheckedReturn
^
217

Warning: Statement should be inside braces [clang-tidy: readability-braces-around-statements]

if (x < y)
          ^
           {
218

Warning: Potentially unintended semicolon [clang-tidy: bugprone-suspicious-semicolon]

;  // after: bugprone-suspicious-semicolon;
^~~
218

Execution cannot reach this statement: ";".
The path that leads to this defect is:

  • js/src/jsapi.cpp:215:
    • assignment: Assigning: "x" = "0"..
  • js/src/jsapi.cpp:217:
    • const: At condition "x < y", the value of "x" must be equal to 0..
  • js/src/jsapi.cpp:216:
    • assignment: Assigning: "y" = "0"..
  • js/src/jsapi.cpp:217:
    • const: At condition "x < y", the value of "y" must be equal to 0..
  • js/src/jsapi.cpp:217:
    • dead_error_condition: The condition "x < y" cannot be true..
  • js/src/jsapi.cpp:218:
    • dead_error_line: Execution cannot reach this statement: ";"..
223

Warning: Use '= default' to define a trivial default constructor [clang-tidy: modernize-use-equals-default]

B() {}          // after: modernize-use-equals-default
^   ~~
    = default;
224

Warning: Use '= default' to define a trivial copy constructor [clang-tidy: modernize-use-equals-default]

B(const B&) {}  // after: modernize-use-equals-default
^           ~~
            = default;
225

Warning: Move constructors should be marked noexcept [clang-tidy: performance-noexcept-move-constructor]

B(B&&) {}       // after: performance-noexcept-move-constructor
^
230

Warning: Use '= default' to define a trivial copy constructor [clang-tidy: modernize-use-equals-default]

D(const D& RHS) : B(RHS) {}  // after: modernize-use-equals-default
^                 ~~~~~~~~~
                  = default;
231

Warning: Move constructors should be marked noexcept [clang-tidy: performance-noexcept-move-constructor]

D(D&& RHS)
^
232

Warning: Move constructor initializes base class by calling a copy constructor [clang-tidy: performance-move-constructor-init]

: B(RHS) {}  // after: performance-move-constructor-init;
  ^
250

Warning: Value stored to 'x' is never read [clang-tidy: clang-analyzer-deadcode.DeadStores]

x = 1;  // after: clang-analyzer-deadcode.DeadStores
^
323

Warning: 'find' called with a string literal consisting of a single character; consider using the more effective overload accepting a character [clang-tidy: performance-faster-string-find]

str.find("A");  // after: performance-faster-string-find
         ^~~
         'A'
330

Warning: The type of the loop variable 'p' is different from the one returned by the iterator and generates an implicit conversion; you can either change the type to the matching one ('const std::pair<const int, std::vector<std::cxx11::basic_string<char>, std::allocator<std::cxx11::basic_string<char> > > > &' but 'const auto&' is always a valid option) or remove the reference to make it explicit that you are creating a new value [clang-tidy: performance-implicit-conversion-in-loop]

for (const std::pair<int, std::vector<std::string>>& p : my_map) {
     ^
toolkit/components/telemetry/build_scripts/gen_event_data.py
41

Error: Line too long (177 > 99 characters) [flake8: E501]

41

Error: Missing whitespace around operator [flake8: E225]

41

Error: At least two spaces before inline comment [flake8: E261]

65

Error: Continuation line under-indented for visual indent [flake8: E128]

Code analysis found 26 defects in this patch:

  • 15 defects found by clang-tidy
  • 2 defects found by Coverity
  • 9 defects found by mozlint

You can run this analysis locally with:

  • ./mach static-analysis check js/src/jsapi.cpp js/ductwork/debugger/JSDebugger.cpp (C/C++)
  • ./mach lint --warnings path/to/file (JS/Python/etc)

If you see a problem in this automated review, please report it here.

browser/base/content/docs/tabbrowser/index.rst
7

Error: Exisits ==> exists [codespell]

devtools/client/definitions.js
7

Error: Operator '=' must be spaced. [eslint: space-infix-ops]

devtools/client/menus.js
31

Error: Use the global form of 'use strict'. [eslint: strict]

41

Error: Unexpected tab character. [eslint: no-tabs]

devtools/client/shared/scroll.js
7

Error: Parsing error: Unexpected character '#' [eslint]

js/ductwork/debugger/JSDebugger.cpp
46

Warning: Do not use 'else' after 'return' [clang-tidy: readability-else-after-return]

else if (!JS_IsGlobalObject(obj)) {  // after: readability-else-after-return
^~~~~
js/src/jsapi.cpp
174

Warning: Do not use 'else' after 'return' [clang-tidy: readability-else-after-return]

else if (ErrorTakesArguments(
^~~~~
210

Warning: Variable 'x' with floating point type 'float' should not be used as a loop counter [clang-tidy: clang-analyzer-security.FloatLoopCounter]

for (float x = 0.1f; x <= 1.0f; x += 0.1f) {
^
213

Calling "setuid" without checking return value (as is done elsewhere 1 out of 1 times).
The path that leads to this defect is:

  • js/src/jsapi.cpp:210:
    • path: Condition "x <= 1f", taking true branch..
  • js/src/jsapi.cpp:211:
    • path: Jumping back to the beginning of the loop..
  • js/src/jsapi.cpp:210:
    • path: Condition "x <= 1f", taking false branch..
  • js/src/jsapi.cpp:213:
    • check_return: Calling "setuid" without checking return value (as is done elsewhere 1 out of 1 times)..
213

Warning: The return value from the call to 'setuid' is not checked. If an error occurs in 'setuid', the following code may execute with unexpected privileges [clang-tidy: clang-analyzer-security.insecureAPI.UncheckedReturn]

setuid(1);  // after: clang-analyzer-security.insecureAPI.UncheckedReturn
^
217

Warning: Statement should be inside braces [clang-tidy: readability-braces-around-statements]

if (x < y)
          ^
           {
218

Execution cannot reach this statement: ";".
The path that leads to this defect is:

  • js/src/jsapi.cpp:215:
    • assignment: Assigning: "x" = "0"..
  • js/src/jsapi.cpp:217:
    • const: At condition "x < y", the value of "x" must be equal to 0..
  • js/src/jsapi.cpp:216:
    • assignment: Assigning: "y" = "0"..
  • js/src/jsapi.cpp:217:
    • const: At condition "x < y", the value of "y" must be equal to 0..
  • js/src/jsapi.cpp:217:
    • dead_error_condition: The condition "x < y" cannot be true..
  • js/src/jsapi.cpp:218:
    • dead_error_line: Execution cannot reach this statement: ";"..
218

Warning: Potentially unintended semicolon [clang-tidy: bugprone-suspicious-semicolon]

;  // after: bugprone-suspicious-semicolon;
^~~
223

Warning: Use '= default' to define a trivial default constructor [clang-tidy: modernize-use-equals-default]

B() {}          // after: modernize-use-equals-default
^   ~~
    = default;
224

Warning: Use '= default' to define a trivial copy constructor [clang-tidy: modernize-use-equals-default]

B(const B&) {}  // after: modernize-use-equals-default
^           ~~
            = default;
225

Warning: Move constructors should be marked noexcept [clang-tidy: performance-noexcept-move-constructor]

B(B&&) {}       // after: performance-noexcept-move-constructor
^
230

Warning: Use '= default' to define a trivial copy constructor [clang-tidy: modernize-use-equals-default]

D(const D& RHS) : B(RHS) {}  // after: modernize-use-equals-default
^                 ~~~~~~~~~
                  = default;
231

Warning: Move constructors should be marked noexcept [clang-tidy: performance-noexcept-move-constructor]

D(D&& RHS)
^
232

Warning: Move constructor initializes base class by calling a copy constructor [clang-tidy: performance-move-constructor-init]

: B(RHS) {}  // after: performance-move-constructor-init;
  ^
250

Warning: Value stored to 'x' is never read [clang-tidy: clang-analyzer-deadcode.DeadStores]

x = 1;  // after: clang-analyzer-deadcode.DeadStores
^
323

Warning: 'find' called with a string literal consisting of a single character; consider using the more effective overload accepting a character [clang-tidy: performance-faster-string-find]

str.find("A");  // after: performance-faster-string-find
         ^~~
         'A'
330

Warning: The type of the loop variable 'p' is different from the one returned by the iterator and generates an implicit conversion; you can either change the type to the matching one ('const std::pair<const int, std::vector<std::cxx11::basic_string<char>, std::allocator<std::cxx11::basic_string<char> > > > &' but 'const auto&' is always a valid option) or remove the reference to make it explicit that you are creating a new value [clang-tidy: performance-implicit-conversion-in-loop]

for (const std::pair<int, std::vector<std::string>>& p : my_map) {
     ^
toolkit/components/telemetry/build_scripts/gen_event_data.py
41

Error: Missing whitespace around operator [flake8: E225]

41

Error: At least two spaces before inline comment [flake8: E261]

41

Error: Line too long (177 > 99 characters) [flake8: E501]

65

Error: Continuation line under-indented for visual indent [flake8: E128]

Code analysis found 26 defects in this patch:

  • 15 defects found by clang-tidy
  • 2 defects found by Coverity
  • 9 defects found by mozlint

You can run this analysis locally with:

  • ./mach static-analysis check js/ductwork/debugger/JSDebugger.cpp js/src/jsapi.cpp (C/C++)
  • ./mach lint --warnings path/to/file (JS/Python/etc)

If you see a problem in this automated review, please report it here.

browser/base/content/docs/tabbrowser/index.rst
7

Error: Exisits ==> exists [codespell]

devtools/client/definitions.js
7

Error: Operator '=' must be spaced. [eslint: space-infix-ops]

devtools/client/menus.js
31

Error: Use the global form of 'use strict'. [eslint: strict]

41

Error: Unexpected tab character. [eslint: no-tabs]

devtools/client/shared/scroll.js
7

Error: Parsing error: Unexpected character '#' [eslint]

js/ductwork/debugger/JSDebugger.cpp
46

Warning: Do not use 'else' after 'return' [clang-tidy: readability-else-after-return]

else if (!JS_IsGlobalObject(obj)) {  // after: readability-else-after-return
^~~~~
js/src/jsapi.cpp
174

Warning: Do not use 'else' after 'return' [clang-tidy: readability-else-after-return]

else if (ErrorTakesArguments(
^~~~~
210

Warning: Variable 'x' with floating point type 'float' should not be used as a loop counter [clang-tidy: clang-analyzer-security.FloatLoopCounter]

for (float x = 0.1f; x <= 1.0f; x += 0.1f) {
^
213

Calling "setuid" without checking return value (as is done elsewhere 1 out of 1 times).
The path that leads to this defect is:

  • js/src/jsapi.cpp:210:
    • path: Condition "x <= 1f", taking true branch..
  • js/src/jsapi.cpp:211:
    • path: Jumping back to the beginning of the loop..
  • js/src/jsapi.cpp:210:
    • path: Condition "x <= 1f", taking false branch..
  • js/src/jsapi.cpp:213:
    • check_return: Calling "setuid" without checking return value (as is done elsewhere 1 out of 1 times)..
213

Warning: The return value from the call to 'setuid' is not checked. If an error occurs in 'setuid', the following code may execute with unexpected privileges [clang-tidy: clang-analyzer-security.insecureAPI.UncheckedReturn]

setuid(1);  // after: clang-analyzer-security.insecureAPI.UncheckedReturn
^
217

Warning: Statement should be inside braces [clang-tidy: readability-braces-around-statements]

if (x < y)
          ^
           {
218

Warning: Potentially unintended semicolon [clang-tidy: bugprone-suspicious-semicolon]

;  // after: bugprone-suspicious-semicolon;
^~~
218

Execution cannot reach this statement: ";".
The path that leads to this defect is:

  • js/src/jsapi.cpp:215:
    • assignment: Assigning: "x" = "0"..
  • js/src/jsapi.cpp:217:
    • const: At condition "x < y", the value of "x" must be equal to 0..
  • js/src/jsapi.cpp:216:
    • assignment: Assigning: "y" = "0"..
  • js/src/jsapi.cpp:217:
    • const: At condition "x < y", the value of "y" must be equal to 0..
  • js/src/jsapi.cpp:217:
    • dead_error_condition: The condition "x < y" cannot be true..
  • js/src/jsapi.cpp:218:
    • dead_error_line: Execution cannot reach this statement: ";"..
223

Warning: Use '= default' to define a trivial default constructor [clang-tidy: modernize-use-equals-default]

B() {}          // after: modernize-use-equals-default
^   ~~
    = default;
224

Warning: Use '= default' to define a trivial copy constructor [clang-tidy: modernize-use-equals-default]

B(const B&) {}  // after: modernize-use-equals-default
^           ~~
            = default;
225

Warning: Move constructors should be marked noexcept [clang-tidy: performance-noexcept-move-constructor]

B(B&&) {}       // after: performance-noexcept-move-constructor
^
230

Warning: Use '= default' to define a trivial copy constructor [clang-tidy: modernize-use-equals-default]

D(const D& RHS) : B(RHS) {}  // after: modernize-use-equals-default
^                 ~~~~~~~~~
                  = default;
231

Warning: Move constructors should be marked noexcept [clang-tidy: performance-noexcept-move-constructor]

D(D&& RHS)
^
232

Warning: Move constructor initializes base class by calling a copy constructor [clang-tidy: performance-move-constructor-init]

: B(RHS) {}  // after: performance-move-constructor-init;
  ^
250

Warning: Value stored to 'x' is never read [clang-tidy: clang-analyzer-deadcode.DeadStores]

x = 1;  // after: clang-analyzer-deadcode.DeadStores
^
323

Warning: 'find' called with a string literal consisting of a single character; consider using the more effective overload accepting a character [clang-tidy: performance-faster-string-find]

str.find("A");  // after: performance-faster-string-find
         ^~~
         'A'
330

Warning: The type of the loop variable 'p' is different from the one returned by the iterator and generates an implicit conversion; you can either change the type to the matching one ('const std::pair<const int, std::vector<std::cxx11::basic_string<char>, std::allocator<std::cxx11::basic_string<char> > > > &' but 'const auto&' is always a valid option) or remove the reference to make it explicit that you are creating a new value [clang-tidy: performance-implicit-conversion-in-loop]

for (const std::pair<int, std::vector<std::string>>& p : my_map) {
     ^
toolkit/components/telemetry/build_scripts/gen_event_data.py
41

Error: Line too long (177 > 99 characters) [flake8: E501]

41

Error: At least two spaces before inline comment [flake8: E261]

41

Error: Missing whitespace around operator [flake8: E225]

65

Error: Continuation line under-indented for visual indent [flake8: E128]