aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorYunlian Jiang <yunlian@google.com>2015-10-28 14:16:24 -0700
committerAleksander Morgado <aleksander@aleksander.es>2015-10-28 22:31:59 +0100
commit4e00558fcbdcfc9232f1007e718b9e2afae6520a (patch)
treef12bbedbe2b6f80ab62f323a2fb0cf4cafe6d6f2 /src
parent30cbf7202c6b5c721ac59ac93052d678428d99d6 (diff)
broadband-modem: fix a undifined behavior
. A shift has undefined behaviour if the mathematical result (lhs * 2^{rhs}) doesn't fit in the range of the resulting type. In other words, you can't left shift into the sign bit of a signed integer type. The error message is: mm-broadband-modem.c:3308:15: runtime error: left shift of 1 by 31 places cannot be represented in type 'int' SUMMARY: AddressSanitizer: undefined-behavior mm-broadband-modem.c:3308:15 in
Diffstat (limited to 'src')
-rw-r--r--src/mm-broadband-modem.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/mm-broadband-modem.c b/src/mm-broadband-modem.c
index d2bfd913..85266462 100644
--- a/src/mm-broadband-modem.c
+++ b/src/mm-broadband-modem.c
@@ -3315,7 +3315,7 @@ get_next_facility_lock_status (LoadEnabledFacilityLocksContext *ctx)
guint i;
for (i = ctx->current; i < sizeof (MMModem3gppFacility) * 8; i++) {
- guint32 facility = 1 << i;
+ guint32 facility = 1u << i;
/* Found the next one to query! */
if (ctx->facilities & facility) {