Skip to content

[BUG] App crashes due to unsafe access on null values from storage #145

@Devnil434

Description

@Devnil434

Description:

The application crashes at runtime with the following error:
TypeError: Cannot read properties of null (reading 'length')
This occurs when the app attempts to access .length on a value retrieved from localStorage (or similar storage) that is null.
This commonly happens for new users / fresh sessions where expected keys are not yet present in storage.

Steps to Reproduce

Open the app in a fresh browser session (clear localStorage / incognito).
Navigate through the app until storage cleanup or quote-related logic runs.

The app crashes with:

Cannot read properties of null (reading 'length')

Expected Behavior

The app should safely handle missing or unset storage values and not crash.

Actual Behavior

The app crashes because .length is accessed on a null value.

Root Cause (Analysis)

Code assumes values from storage are always non-null, for example:

const value = localStorage.getItem(key);
if (value.length > 0) { ... } // crashes if value === null

However, localStorage.getItem() returns null if the key does not exist.

Suggested Fix

Add defensive checks or defaults before accessing .length, for example:

const value = localStorage.getItem(key);
if (!value) return;
if (value.length > 0) {
...
}

or:

const value = JSON.parse(localStorage.getItem(key) ?? "[]");

Impact

🚨 Causes hard crashes
🚨 Affects new users
🚨 Breaks core functionality
🚨 Generates excessive error reports (Sentry)

Environment

Frontend: React + Vite

Browser: Any

Reproducible: Yes (100% on fresh storage)

Additional Notes

This issue can be resolved by adding simple null guards and/or safe parsing when accessing storage values.

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