mirror of
https://git.savannah.gnu.org/git/grub.git
synced 2026-10-21 14:59:34 +00:00
commands/i386/pc/sendkey: Fix "writing 1 byte into a region of size 0" build error
Latest GCC may complain in that way:
commands/i386/pc/sendkey.c: In function ‘grub_sendkey_postboot’:
commands/i386/pc/sendkey.c:223:21: error: writing 1 byte into a region of size 0 [-Werror=stringop-overflow=]
223 | *((char *) 0x41a) = 0x1e;
| ~~~~~~~~~~~~~~~~~~^~~~~~
The volatile keyword addition helps and additionally assures us the
compiler will not optimize out fixed assignments.
Signed-off-by: Daniel Kiper <daniel.kiper@oracle.com>
Reviewed-by: Robbie Harwood <rharwood@redhat.com>
This commit is contained in:
1 parent
093ac51dc6
commit
9c9bb1c0ac
1 file changed
+4
-4
@@ -220,8 +220,8 @@ grub_sendkey_postboot (void)
|
|||||||
|
|
||||||
*flags = oldflags;
|
*flags = oldflags;
|
||||||
|
|
||||||
*((char *) 0x41a) = 0x1e;
|
*((volatile char *) 0x41a) = 0x1e;
|
||||||
*((char *) 0x41c) = 0x1e;
|
*((volatile char *) 0x41c) = 0x1e;
|
||||||
|
|
||||||
return GRUB_ERR_NONE;
|
return GRUB_ERR_NONE;
|
||||||
}
|
}
|
||||||
@@ -236,8 +236,8 @@ grub_sendkey_preboot (int noret __attribute__ ((unused)))
|
|||||||
oldflags = *flags;
|
oldflags = *flags;
|
||||||
|
|
||||||
/* Set the sendkey. */
|
/* Set the sendkey. */
|
||||||
*((char *) 0x41a) = 0x1e;
|
*((volatile char *) 0x41a) = 0x1e;
|
||||||
*((char *) 0x41c) = keylen + 0x1e;
|
*((volatile char *) 0x41c) = keylen + 0x1e;
|
||||||
grub_memcpy ((char *) 0x41e, sendkey, 0x20);
|
grub_memcpy ((char *) 0x41e, sendkey, 0x20);
|
||||||
|
|
||||||
/* Transform "any ctrl" to "right ctrl" flag. */
|
/* Transform "any ctrl" to "right ctrl" flag. */
|
||||||
|
|||||||
Reference in new issue
Block a user