From f2a425c4a5d7512d968e896a3ec55ba6717148b4 Mon Sep 17 00:00:00 2001 From: Lu Qiuwen Date: Fri, 23 Nov 2018 20:21:24 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=AD=A3KNI-ACCEPTOR=E4=B8=ADkni=5Fin?= =?UTF-8?q?fo=E5=AE=9A=E4=B9=89=E9=94=99=E8=AF=AF=E5=AF=BC=E8=87=B4?= =?UTF-8?q?=E7=9A=84KNI=E6=B6=88=E6=81=AF=E8=A7=A3=E6=9E=90=E9=94=99?= =?UTF-8?q?=E8=AF=AF=E7=9A=84=E9=97=AE=E9=A2=98=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- platform/src/kni_acceptor.cpp | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/platform/src/kni_acceptor.cpp b/platform/src/kni_acceptor.cpp index 0c63407..39dc425 100644 --- a/platform/src/kni_acceptor.cpp +++ b/platform/src/kni_acceptor.cpp @@ -70,7 +70,7 @@ struct kni_tlv_header { uint16_t magic; uint16_t counts; -}; +} __attribute__((__packed__)); struct kni_tlv_info { @@ -80,11 +80,11 @@ struct kni_tlv_info union { uint8_t value_as_raw[0]; - uint16_t value_as_uint16; - uint32_t value_as_uint32; - uint16_t value_as_uint64; + uint16_t value_as_uint16[0]; + uint32_t value_as_uint32[0]; + uint64_t value_as_uint64[0]; }; -}; +} __attribute__((__packed__)); struct kni_acceptor { @@ -166,7 +166,7 @@ static int __kni_parse_tlv_data(struct kni_acceptor * ctx, /* VALUE is uint32_t, length is 4 */ case KNI_TLV_TYPE_PROTOCOL: { - uint32_t __value = tlv_info->value_as_uint32; + uint32_t __value = tlv_info->value_as_uint32[0]; if (__value == KNI_TLV_VALUE_HTTP) { out_para->session_type = STREAM_PROTO_PLAIN; @@ -182,7 +182,7 @@ static int __kni_parse_tlv_data(struct kni_acceptor * ctx, /* VALUE is uint32_t, length is 4 */ case KNI_TLV_TYPE_KEYRING_ID: { - uint32_t __value = tlv_info->value_as_uint32; + uint32_t __value = tlv_info->value_as_uint32[0]; out_para->keyring_id = __value; assert(tlv_info->len == sizeof(uint32_t)); break;