cpu: microblaze: add error handling in microblaze_cpu_get_desc()
authorOvidiu Panait <ovpanait@gmail.com>
Mon, 29 Aug 2022 17:02:03 +0000 (20:02 +0300)
committerMichal Simek <michal.simek@amd.com>
Tue, 13 Sep 2022 09:32:48 +0000 (11:32 +0200)
Check snprintf() return value for errors.

Make microblaze_cpu_get_desc() directly return snprintf() error code if
ret < 0. Otherwise, if the return value is greater than or equal to size,
the resulting string is truncated, so return -ENOSPC.

Fixes: 816226d27e ("cpu: add CPU driver for microblaze")
Signed-off-by: Ovidiu Panait <ovpanait@gmail.com>
Link: https://lore.kernel.org/r/20220829170205.1274484-2-ovpanait@gmail.com
Signed-off-by: Michal Simek <michal.simek@amd.com>
drivers/cpu/microblaze_cpu.c

index 969a104..b9d0792 100644 (file)
@@ -97,8 +97,10 @@ static int microblaze_cpu_get_desc(const struct udevice *dev, char *buf,
        ret = snprintf(buf, size,
                       "MicroBlaze @ %uMHz, Rev: %s, FPGA family: %s",
                       cpu_freq_mhz, cpu_ver, fpga_family);
+       if (ret < 0)
+               return ret;
 
-       return 0;
+       return (ret >= size) ? -ENOSPC : 0;
 }
 
 static int microblaze_cpu_get_info(const struct udevice *dev,