]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
powercap: fix sscanf() error return value handling
authorSumeet Pawnikar <sumeet4linux@gmail.com>
Sun, 7 Dec 2025 15:15:48 +0000 (20:45 +0530)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Mon, 15 Dec 2025 11:33:59 +0000 (12:33 +0100)
commitefc4c35b741af973de90f6826bf35d3b3ac36bf1
tree20feb0dc3c87b96f6b9d222760f63eafb834fba9
parent7bda1910c4bccd4b8d4726620bb3d6bbfb62286e
powercap: fix sscanf() error return value handling

Fix inconsistent error handling for sscanf() return value check.

Implicit boolean conversion is used instead of explicit return
value checks. The code checks if (!sscanf(...)) which is incorrect
because:
 1. sscanf returns the number of successfully parsed items
 2. On success, it returns 1 (one item passed)
 3. On failure, it returns 0 or EOF
 4. The check 'if (!sscanf(...))' is wrong because it treats
    success (1) as failure

All occurrences of sscanf() now uses explicit return value check.
With this behavior it returns '-EINVAL' when parsing fails (returns
0 or EOF), and continues when parsing succeeds (returns 1).

Signed-off-by: Sumeet Pawnikar <sumeet4linux@gmail.com>
[ rjw: Subject and changelog edits ]
Link: https://patch.msgid.link/20251207151549.202452-1-sumeet4linux@gmail.com
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/powercap/powercap_sys.c