]> git.baikalelectronics.ru Git - arm-tf.git/commit
fix(libc): limit snprintf radix value
authorAndre Przywara <andre.przywara@arm.com>
Mon, 24 Jan 2022 18:16:10 +0000 (18:16 +0000)
committerAndre Przywara <andre.przywara@arm.com>
Thu, 10 Feb 2022 16:33:32 +0000 (16:33 +0000)
commitb30dd4030dcef950eac05393013ee019c3cb3205
treeaabaeecd55240d1c74177f1eefa7e702f1f1e3ce
parentc1f5a0925ddf84981d9e176d146bfddb48eb45d1
fix(libc): limit snprintf radix value

In our unsigned_num_print() function we first print the integer into a
local buffer, then put this through alignment and padding and output the
result. For this we use a local buffer, sized by the maximum possible
length of the largest possible number.

However this assumes that the radix is not smaller than 10, which is
indeed the smallest value we pass into this static function at the
moment. To prevent accidents in the future, should we add support for
other radices, add an assert to enforce our assumption.

Unfortunately this cannot be a static assert (CASSERT), since the
compiler is not smart enough to see that the argument is always coming
from a literal.

Change-Id: Ic204462600d9f4c281d899cf9f2c698a0a33a874
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
lib/libc/snprintf.c