diff options
author | Aleksander Morgado <aleksander@lanedo.com> | 2013-06-23 21:23:17 +0200 |
---|---|---|
committer | Aleksander Morgado <aleksander@lanedo.com> | 2013-06-24 19:22:32 +0200 |
commit | 1b8fe7e167ac3e740fd0394d68dcc281fe1b0c2b (patch) | |
tree | 44e8cac5a6471260fd231468aefc6472c71fc2e0 | |
parent | 581e918b5104bf80bfe399eeaa73e98f505011a3 (diff) | |
download | libmbim-1b8fe7e167ac3e740fd0394d68dcc281fe1b0c2b.tar.gz |
libmbim-glib: when appending strings, ensure padding is also added when needed
-rw-r--r-- | libmbim-glib/mbim-message.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/libmbim-glib/mbim-message.c b/libmbim-glib/mbim-message.c index 97f15d4..6f2c604 100644 --- a/libmbim-glib/mbim-message.c +++ b/libmbim-glib/mbim-message.c @@ -662,8 +662,15 @@ _mbim_struct_builder_append_string (MbimStructBuilder *builder, g_byte_array_append (builder->fixed_buffer, (guint8 *)&length, sizeof (length)); /* And finally, the string itself to the variable buffer */ - if (utf16le_bytes) + if (utf16le_bytes) { g_byte_array_append (builder->variable_buffer, (const guint8 *)utf16le, (guint)utf16le_bytes); + while (utf16le_bytes % 4 != 0) { + const guint8 padding = 0; + + g_byte_array_append (builder->variable_buffer, &padding, 1); + utf16le_bytes++; + } + } g_free (utf16le); } |