Skip to content

Commit e694d2b

Browse files
Charles Hanandersson
authored andcommitted
soc: qcom: Add check devm_kasprintf() returned value
devm_kasprintf() can return a NULL pointer on failure but this returned value in qcom_socinfo_probe() is not checked. Signed-off-by: Charles Han <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Bjorn Andersson <[email protected]>
1 parent 274e58c commit e694d2b

File tree

1 file changed

+7
-1
lines changed

1 file changed

+7
-1
lines changed

drivers/soc/qcom/socinfo.c

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -786,10 +786,16 @@ static int qcom_socinfo_probe(struct platform_device *pdev)
786786
qs->attr.revision = devm_kasprintf(&pdev->dev, GFP_KERNEL, "%u.%u",
787787
SOCINFO_MAJOR(le32_to_cpu(info->ver)),
788788
SOCINFO_MINOR(le32_to_cpu(info->ver)));
789-
if (offsetof(struct socinfo, serial_num) <= item_size)
789+
if (!qs->attr.soc_id || qs->attr.revision)
790+
return -ENOMEM;
791+
792+
if (offsetof(struct socinfo, serial_num) <= item_size) {
790793
qs->attr.serial_number = devm_kasprintf(&pdev->dev, GFP_KERNEL,
791794
"%u",
792795
le32_to_cpu(info->serial_num));
796+
if (!qs->attr.serial_number)
797+
return -ENOMEM;
798+
}
793799

794800
qs->soc_dev = soc_device_register(&qs->attr);
795801
if (IS_ERR(qs->soc_dev))

0 commit comments

Comments
 (0)