changeset 17487:5416df86b603

Make sure we don't shift signed integers left by 24. They should be unsigned.
author Timo Sirainen <tss@iki.fi>
date Fri, 13 Jun 2014 11:35:40 +0300
parents 892aee3e5a05
children 1fcaa7d0b35e
files src/lib-index/mailbox-log.c src/lib/hmac-cram-md5.c
diffstat 2 files changed, 2 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/src/lib-index/mailbox-log.c	Fri Jun 13 11:21:07 2014 +0300
+++ b/src/lib-index/mailbox-log.c	Fri Jun 13 11:35:40 2014 +0300
@@ -154,7 +154,7 @@
 
 time_t mailbox_log_record_get_timestamp(const struct mailbox_log_record *rec)
 {
-	return ((time_t)rec->timestamp[0] << 24) |
+	return (time_t)(rec->timestamp[0] << 24) |
 		((time_t)rec->timestamp[1] << 16) |
 		((time_t)rec->timestamp[2] << 8) |
 		(time_t)rec->timestamp[3];
--- a/src/lib/hmac-cram-md5.c	Fri Jun 13 11:21:07 2014 +0300
+++ b/src/lib/hmac-cram-md5.c	Fri Jun 13 11:35:40 2014 +0300
@@ -48,7 +48,7 @@
 	(c)  = (*p++);           \
 	(c) += (*p++ << 8);      \
 	(c) += (*p++ << 16);     \
-	(c) += (*p++ << 24);     \
+	(c) += ((uint32_t)(*p++) << 24);     \
 } STMT_END
 	cdp = context_digest;
 	CDGET(cdp, ctxo->a);