X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=test%2Fmbuf_api_static_test.c;h=d4eca07bd4e340f22065513ca14048097c843831;hb=316614a9808fcd107daa1b5ec190f6b2a9d804c3;hp=936c43ae5f651fc030159265d7dc2dd72662401f;hpb=6511ac74cdc367a94bffeb3743624775acd52c5b;p=ric-plt%2Flib%2Frmr.git diff --git a/test/mbuf_api_static_test.c b/test/mbuf_api_static_test.c index 936c43a..d4eca07 100644 --- a/test/mbuf_api_static_test.c +++ b/test/mbuf_api_static_test.c @@ -40,6 +40,7 @@ #include "rmr.h" #include "rmr_agnostic.h" +// --------------------------------------------------------------------------------------------- int mbuf_api_test( ) { unsigned char* c; @@ -49,6 +50,8 @@ int mbuf_api_test( ) { char* buf; void* ptr; rmr_mbuf_t* mbuf; + rmr_mbuf_t* mbuf2; + rmr_mbuf_t* mbuf3; uta_mhdr_t* hdr; unsigned char src_buf[256]; unsigned char dest_buf[256]; @@ -68,7 +71,7 @@ int mbuf_api_test( ) { mbuf->header = mbuf->tp_buf; mbuf->alloc_len = 1024; mbuf->payload = PAYLOAD_ADDR( mbuf->header ); - hdr = (rmr_mbuf_t *) mbuf->header; + hdr = (uta_mhdr_t *) mbuf->header; mbuf->xaction = hdr->xid; @@ -107,11 +110,19 @@ int mbuf_api_test( ) { errors += fail_if( i > 0, "(rv) attempt to copy bytes to meid with nil message" ); errno = 0; + strncpy( src_buf, "a very long string that should trigger an error when stuffing it into meid", sizeof( src_buf ) ); // ensure no zero byte at field length i = rmr_bytes2meid( mbuf, src_buf, RMR_MAX_MEID + 1 ); errors += fail_if( errno == 0, "(errno) attempt to copy bytes to meid with large source buffer" ); errors += fail_if( i != RMR_MAX_MEID, "(rv) attempt to copy bytes to meid with large source buffer" ); + + errno = 0; + i = rmr_bytes2meid( mbuf, src_buf, RMR_MAX_MEID ); // it's not 0 terminated at length expect failure + errors += fail_if( errno == 0, "(errno) attempt to copy non-zero termianted bytes to meid with large source buffer" ); + errors += fail_if( i != RMR_MAX_MEID, "(rv) attempt to copy bytes to meid with large source buffer" ); errno = 0; + memset( src_buf, 0, RMR_MAX_MEID+2 ); + strcpy( src_buf, "smaller bytes" ); i = rmr_bytes2meid( mbuf, src_buf, RMR_MAX_MEID ); errors += fail_if( errno != 0, "copy bytes to meid; expected errno to be ok" ); errors += fail_if( i != RMR_MAX_MEID, "copy bytes to meid; expected return value to be max meid len" ); @@ -346,5 +357,6 @@ int mbuf_api_test( ) { test_set_ver( mbuf, 2 ); // set older message version to ensure properly handled buf = rmr_get_srcip( mbuf, src_buf ); + return errors > 0; // overall exit code bad if errors }