vt/consolemap: do font sum unsigned
authorJiri Slaby <jslaby@suse.cz>
Tue, 5 Jan 2021 12:02:34 +0000 (13:02 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 7 Jan 2021 15:17:31 +0000 (16:17 +0100)
The constant 20 makes the font sum computation signed which can lead to
sign extensions and signed wraps. It's not much of a problem as we build
with -fno-strict-overflow. But if we ever decide not to, be ready, so
switch the constant to unsigned.

Signed-off-by: Jiri Slaby <jslaby@suse.cz>
Link: https://lore.kernel.org/r/20210105120239.28031-7-jslaby@suse.cz
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/vt/consolemap.c

index f7d015c..d815ac9 100644 (file)
@@ -495,7 +495,7 @@ con_insert_unipair(struct uni_pagedir *p, u_short unicode, u_short fontpos)
 
        p2[unicode & 0x3f] = fontpos;
        
-       p->sum += (fontpos << 20) + unicode;
+       p->sum += (fontpos << 20U) + unicode;
 
        return 0;
 }