From 4638d3ad831f7bf11fcd5a0f951d9c4eae475257 Mon Sep 17 00:00:00 2001 From: Denis Kenzior Date: Tue, 1 Jun 2010 10:07:18 -0500 Subject: [PATCH] smsutil: Don't overflow signed ints We were overflowing the datatype which was causing the 31st segments to be prepended at position 0. This resulted in (very) long messages being improperly concatenated --- src/smsutil.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/smsutil.c b/src/smsutil.c index 62d8ab2..30c1250 100644 --- a/src/smsutil.c +++ b/src/smsutil.c @@ -2483,16 +2483,16 @@ static GSList *sms_assembly_add_fragment_backup(struct sms_assembly *assembly, guint16 ref, guint8 max, guint8 seq, gboolean backup) { - int offset = seq / 32; - int bit = 1 << (seq % 32); + unsigned int offset = seq / 32; + unsigned int bit = 1 << (seq % 32); GSList *l; GSList *prev; struct sms *newsms; struct sms_assembly_node *node; GSList *completed; - int position; - int i; - int j; + unsigned int position; + unsigned int i; + unsigned int j; prev = NULL; -- 2.7.4