diff options
author | Aki Niemi <aki.niemi@nokia.com> | 2010-12-22 17:47:11 +0200 |
---|---|---|
committer | Aki Niemi <aki.niemi@nokia.com> | 2010-12-22 17:47:11 +0200 |
commit | 4ca9022358cf84db98c550296ae969bceab14fa1 (patch) | |
tree | a2e624d2e2ca82716428c4c7efd106e2def6d3a0 /gisi/iter.c | |
parent | 374dd32812026c3d728f2a14f78357463f12a3f8 (diff) | |
download | ofono-4ca9022358cf84db98c550296ae969bceab14fa1.tar.bz2 |
gisi: Minor style fixes
Diffstat (limited to 'gisi/iter.c')
-rw-r--r-- | gisi/iter.c | 23 |
1 files changed, 15 insertions, 8 deletions
diff --git a/gisi/iter.c b/gisi/iter.c index d9c111fd..a925b158 100644 --- a/gisi/iter.c +++ b/gisi/iter.c @@ -91,9 +91,9 @@ void g_isi_sb_subiter_init(GIsiSubBlockIter *outer, GIsiSubBlockIter *inner, inner->sub_blocks = len > used ? inner->start[-1] : 0; } -void g_isi_sb_subiter_init_full(GIsiSubBlockIter *outer, GIsiSubBlockIter *inner, - size_t used, gboolean longhdr, - uint16_t sub_blocks) +void g_isi_sb_subiter_init_full(GIsiSubBlockIter *outer, + GIsiSubBlockIter *inner, size_t used, + gboolean longhdr, uint16_t sub_blocks) { size_t len = g_isi_sb_iter_get_len(outer); @@ -127,14 +127,16 @@ gboolean g_isi_sb_iter_is_valid(const GIsiSubBlockIter *iter) int g_isi_sb_iter_get_id(const GIsiSubBlockIter *iter) { if (iter->longhdr) - return (iter->start[0] << 8) | (iter->start[1]); + return (iter->start[0] << 8) | iter->start[1]; + return iter->start[0]; } size_t g_isi_sb_iter_get_len(const GIsiSubBlockIter *iter) { if (iter->longhdr) - return (iter->start[2] << 8) | (iter->start[3]); + return (iter->start[2] << 8) | iter->start[3]; + return iter->start[1]; } @@ -142,7 +144,7 @@ gboolean g_isi_sb_iter_get_data(const GIsiSubBlockIter *restrict iter, void **data, unsigned pos) { if ((size_t)pos > g_isi_sb_iter_get_len(iter) - || iter->start + pos > iter->end) + || iter->start + pos > iter->end) return FALSE; *data = (void *)iter->start + pos; @@ -153,7 +155,7 @@ gboolean g_isi_sb_iter_get_byte(const GIsiSubBlockIter *restrict iter, uint8_t *byte, unsigned pos) { if ((size_t)pos > g_isi_sb_iter_get_len(iter) - || iter->start + pos > iter->end) + || iter->start + pos > iter->end) return FALSE; *byte = iter->start[pos]; @@ -208,6 +210,7 @@ gboolean g_isi_sb_iter_get_alpha_tag(const GIsiSubBlockIter *restrict iter, return FALSE; ucs2 = iter->start + pos; + if (ucs2 + len > iter->end) return FALSE; @@ -224,10 +227,14 @@ gboolean g_isi_sb_iter_get_latin_tag(const GIsiSubBlockIter *restrict iter, if (pos > g_isi_sb_iter_get_len(iter)) return FALSE; - if (latin == NULL || len == 0 || pos + len > g_isi_sb_iter_get_len(iter)) + if (latin == NULL || len == 0) + return FALSE; + + if (pos + len > g_isi_sb_iter_get_len(iter)) return FALSE; str = iter->start + pos; + if (str + len > iter->end) return FALSE; |