Diff between abbfdb3aa26e32dc514a63f8af0db6efcda4af28 and 007fe21a232db5767b4a86aec8af8e4406827095

Changed Files

File Additions Deletions Status
gobex/gobex-header.c +6 -1 modified

Full Patch

diff --git a/gobex/gobex-header.c b/gobex/gobex-header.c
index 0ef5e24..6d0136c 100644
--- a/gobex/gobex-header.c
+++ b/gobex/gobex-header.c
@@ -168,8 +168,13 @@ GObexHeader *g_obex_header_decode(const void *data, gsize len,
 
 	switch (G_OBEX_HDR_TYPE(header->id)) {
 	case G_OBEX_HDR_TYPE_UNICODE:
-		if (len < 3)
+		if (len < 3) {
+			g_set_error(err, G_OBEX_ERROR,
+				G_OBEX_ERROR_PARSE_ERROR,
+				"Not enough data for unicode header (0x%02x)",
+				header->id);
 			goto failed;
+		}
 		ptr = get_bytes(&hdr_len, ptr, sizeof(hdr_len));
 		hdr_len = g_ntohs(hdr_len);
 		if (hdr_len > len || hdr_len < 5) {