summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--uemis-downloader.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/uemis-downloader.c b/uemis-downloader.c
index 569f20353..fbab3dcef 100644
--- a/uemis-downloader.c
+++ b/uemis-downloader.c
@@ -388,7 +388,7 @@ static void buffer_insert(char **buffer, int *buffer_size, char *buf)
int obj_dive;
int obj_log;
int offset, len;
- uint8_t hdr[24];
+ uint8_t hdr[27];
/* since we want to insert into the buffer... if there's
* nothing there, this makes absolutely no sense so just
@@ -414,14 +414,14 @@ static void buffer_insert(char **buffer, int *buffer_size, char *buf)
* some info from that in order to make sense of the data in
* the dive info */
b64 = strstr(ptr, "<bin>") + 5;
- decode(b64, hdr, 32);
+ decode(b64, hdr, 36);
cbuf = convert_dive_details(buf, hdr);
offset = ptr - *buffer;
len = strlen(cbuf);
*buffer_size += len;
*buffer = realloc(*buffer, *buffer_size);
ptr = *buffer + offset;
- memmove(ptr + len, ptr, strlen(*buffer) - offset);
+ memmove(ptr + len, ptr, strlen(*buffer) - offset + 1);
memmove(ptr, cbuf, len);
}