aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNIIBE Yutaka <[email protected]>2018-09-10 04:44:47 +0000
committerNIIBE Yutaka <[email protected]>2018-09-10 04:44:47 +0000
commitf80346f42df4bdc7d0a9741c3922129aceae4f81 (patch)
tree9df16b545299da4d0ab44455053ff6419b431946
parentagent: Fix error code check from npth_mutex_init. (diff)
downloadgnupg-f80346f42df4bdc7d0a9741c3922129aceae4f81.tar.gz
gnupg-f80346f42df4bdc7d0a9741c3922129aceae4f81.zip
common: Use iobuf_get_noeof to avoid undefined behaviors.
* common/iobuf.c (block_filter): Use iobuf_get_noeof. -- 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 <[email protected]>
-rw-r--r--common/iobuf.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/common/iobuf.c b/common/iobuf.c
index 02c9b491c..8f52f7f5c 100644
--- a/common/iobuf.c
+++ b/common/iobuf.c
@@ -878,9 +878,9 @@ block_filter (void *opaque, int control, iobuf_t chain, byte * buffer,
}
else if (c == 255)
{
- a->size = (size_t)iobuf_get (chain) << 24;
- a->size |= iobuf_get (chain) << 16;
- a->size |= iobuf_get (chain) << 8;
+ a->size = iobuf_get_noeof (chain) << 24;
+ a->size |= iobuf_get_noeof (chain) << 16;
+ a->size |= iobuf_get_noeof (chain) << 8;
if ((c = iobuf_get (chain)) == -1)
{
log_error ("block_filter: invalid 4 byte length\n");