mirror of
git://git.gnupg.org/gnupg.git
synced 2024-06-13 00:09:51 +02:00
common: Use iobuf_get_noeof to avoid undefined behaviors.
* common/iobuf.c (block_filter): Use iobuf_get_noeof.
--
Cherry-pick from master commit of:
f80346f42d
When singed integer has negative value, left shift computation is
undefined in C.
GnuPG-bug-id: 4093
Reported-by: Philippe Antoine
Signed-off-by: NIIBE Yutaka <gniibe@fsij.org>
This commit is contained in:
parent
213379debe
commit
0383e7fed7
|
@ -856,9 +856,9 @@ block_filter (void *opaque, int control, iobuf_t chain, byte * buffer,
|
||||||
}
|
}
|
||||||
else if (c == 255)
|
else if (c == 255)
|
||||||
{
|
{
|
||||||
a->size = (size_t)iobuf_get (chain) << 24;
|
a->size = iobuf_get_noeof (chain) << 24;
|
||||||
a->size |= iobuf_get (chain) << 16;
|
a->size |= iobuf_get_noeof (chain) << 16;
|
||||||
a->size |= iobuf_get (chain) << 8;
|
a->size |= iobuf_get_noeof (chain) << 8;
|
||||||
if ((c = iobuf_get (chain)) == -1)
|
if ((c = iobuf_get (chain)) == -1)
|
||||||
{
|
{
|
||||||
log_error ("block_filter: invalid 4 byte length\n");
|
log_error ("block_filter: invalid 4 byte length\n");
|
||||||
|
|
Loading…
Reference in New Issue
Block a user