]> git.ipfire.org Git - thirdparty/gnutls.git/commitdiff
Preserve mbuffer type when linearized
authorTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
Sun, 24 Apr 2022 08:03:18 +0000 (17:03 +0900)
committerTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
Sun, 24 Apr 2022 10:27:43 +0000 (19:27 +0900)
Signed-off-by: Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
lib/mbuffers.c

index 7f7842592293f8a391432e2b5092b268411a1562..7eabf04a51152f847c3f81d2526343354a4d38e4 100644 (file)
@@ -403,6 +403,8 @@ int _mbuffer_linearize_align16(mbuffer_head_st * buf, unsigned align_pos)
                return GNUTLS_E_MEMORY_ERROR;
        }
 
+       bufel->type = _mbuffer_head_get_first(buf, NULL)->type;
+
        for (cur = _mbuffer_head_get_first(buf, &msg);
             msg.data != NULL; cur = _mbuffer_head_get_next(cur, &msg)) {
                memcpy(&bufel->msg.data[pos], msg.data, msg.size);
@@ -433,6 +435,8 @@ int _mbuffer_linearize(mbuffer_head_st * buf)
                return GNUTLS_E_MEMORY_ERROR;
        }
 
+       bufel->type = _mbuffer_head_get_first(buf, NULL)->type;
+
        for (cur = _mbuffer_head_get_first(buf, &msg);
             msg.data != NULL; cur = _mbuffer_head_get_next(cur, &msg)) {
                memcpy(&bufel->msg.data[pos], msg.data, msg.size);