tests: net: buf: Fix byteorder test writing beyond buffer
Fix byteorder test writing past the data pointer. This would otherwise have been caught by the assert, but net buf asserts were not enabled in the test. Reset the buffer between different tests to re-use the same 16-byte buffer. Turning on asserts gives: starting test - net_buf_test_byte_order ASSERTION FAIL [net_buf_simple_tailroom(buf) >= len] @ ZEPHYR_BASE/subsys/net/buf.c:775 E: r0/a1: 0x00000004 r1/a2: 0x00000307 r2/a3: 0x00000000 E: r3/a4: 0x00006d79 r12/ip: 0x00000000 r14/lr: 0x000028ad E: xpsr: 0x61000000 E: Faulting instruction address (r15/pc): 0x000050b0 E: >>> ZEPHYR FATAL ERROR 4: Kernel panic on CPU 0 Signed-off-by: Joakim Andersson <joakim.andersson@nordicsemi.no>
This commit is contained in:
parent
3797832030
commit
0484c5af4d
1 changed files with 18 additions and 0 deletions
|
@ -484,6 +484,8 @@ static void net_buf_test_byte_order(void)
|
|||
zassert_equal(u16, net_buf_pull_be16(buf),
|
||||
"Invalid 16 bits byte order");
|
||||
|
||||
net_buf_reset(buf);
|
||||
|
||||
net_buf_add_le16(buf, u16);
|
||||
net_buf_add_be16(buf, u16);
|
||||
|
||||
|
@ -492,6 +494,8 @@ static void net_buf_test_byte_order(void)
|
|||
zassert_mem_equal(be16, net_buf_pull_mem(buf, sizeof(be16)),
|
||||
sizeof(be16), "Invalid 16 bits byte order");
|
||||
|
||||
net_buf_reset(buf);
|
||||
|
||||
net_buf_add_mem(buf, &le24, sizeof(le24));
|
||||
net_buf_add_mem(buf, &be24, sizeof(be24));
|
||||
|
||||
|
@ -499,6 +503,8 @@ static void net_buf_test_byte_order(void)
|
|||
zassert_equal(u32, net_buf_pull_be24(buf),
|
||||
"Invalid 24 bits byte order");
|
||||
|
||||
net_buf_reset(buf);
|
||||
|
||||
net_buf_add_le24(buf, u32);
|
||||
net_buf_add_be24(buf, u32);
|
||||
|
||||
|
@ -507,6 +513,8 @@ static void net_buf_test_byte_order(void)
|
|||
zassert_mem_equal(be24, net_buf_pull_mem(buf, sizeof(be24)),
|
||||
sizeof(be24), "Invalid 24 bits byte order");
|
||||
|
||||
net_buf_reset(buf);
|
||||
|
||||
net_buf_add_mem(buf, &le32, sizeof(le32));
|
||||
net_buf_add_mem(buf, &be32, sizeof(be32));
|
||||
|
||||
|
@ -514,6 +522,8 @@ static void net_buf_test_byte_order(void)
|
|||
zassert_equal(u32, net_buf_pull_be32(buf),
|
||||
"Invalid 32 bits byte order");
|
||||
|
||||
net_buf_reset(buf);
|
||||
|
||||
net_buf_add_le32(buf, u32);
|
||||
net_buf_add_be32(buf, u32);
|
||||
|
||||
|
@ -522,6 +532,8 @@ static void net_buf_test_byte_order(void)
|
|||
zassert_mem_equal(be32, net_buf_pull_mem(buf, sizeof(be32)),
|
||||
sizeof(be32), "Invalid 32 bits byte order");
|
||||
|
||||
net_buf_reset(buf);
|
||||
|
||||
net_buf_add_mem(buf, &le48, sizeof(le48));
|
||||
net_buf_add_mem(buf, &be48, sizeof(be48));
|
||||
|
||||
|
@ -529,6 +541,8 @@ static void net_buf_test_byte_order(void)
|
|||
zassert_equal(u64, net_buf_pull_be48(buf),
|
||||
"Invalid 48 bits byte order");
|
||||
|
||||
net_buf_reset(buf);
|
||||
|
||||
net_buf_add_le48(buf, u64);
|
||||
net_buf_add_be48(buf, u64);
|
||||
|
||||
|
@ -537,6 +551,8 @@ static void net_buf_test_byte_order(void)
|
|||
zassert_mem_equal(be48, net_buf_pull_mem(buf, sizeof(be48)),
|
||||
sizeof(be48), "Invalid 48 bits byte order");
|
||||
|
||||
net_buf_reset(buf);
|
||||
|
||||
net_buf_add_mem(buf, &le64, sizeof(le64));
|
||||
net_buf_add_mem(buf, &be64, sizeof(be64));
|
||||
|
||||
|
@ -544,6 +560,8 @@ static void net_buf_test_byte_order(void)
|
|||
zassert_equal(u64, net_buf_pull_be64(buf),
|
||||
"Invalid 64 bits byte order");
|
||||
|
||||
net_buf_reset(buf);
|
||||
|
||||
net_buf_add_le64(buf, u64);
|
||||
net_buf_add_be64(buf, u64);
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue