Properties of variables with null or undefined values should not be accessed

  • NULL_POINTER
  • Error
  • High
  • cwe

This rule applies when properties of variables with null or undefined values are accessed.

Trying to access properties of null or undefined variables causes a TypeError exception.

Noncompliant Code Example

// Example 1
function foo() {
    var obj;
    var y = obj.x; // NULL_POINTER alarm
}

// Example 2
if (x == null) { // (x == null) should be modified to (x != null).
    y = x.a; // NULL_POINTER alarm: x is undefined or null but is property-accessed.
}

// Example 3
y = x || x.a; // NULL_POINTER alarm: x has a falsy value but is property-accessed.

Compliant Code Example

// Example 1
function foo() {
    var obj = { x: 1 }; // 'obj' should be initialized.
    var y = obj.x;
}

// Example 2
if (x != null) {
    y = x.a;
}

// Example 3
y = x && x.a;

Version

This rule was introduced in DeepScan 1.0.0-alpha.

See