From: David S. <dls...@us...> - 2006-09-20 21:52:35
Attachments:
asapi_06.patch
|
The patch below fixes the following bugs in the Advanced Sockets API LTP tests: 1) missing semicolon after TEST() macro; apparent bitrot, resulting in syntax error 2) remove signedness warning by changing "valsize" to "socklen_t" from "int" 3) correct bug in ancillary data - source data is "uint8_t", memcpy() size is "sizeof(int)"; results in garbage and TBROK on PPC64 [patch in-line for viewing, attached for applying] Signed-off-by: David L Stevens <dls...@us...> diff -ruNp ltp-full-20060822/testcases/network/lib6/asapi_06.c ltp-full-20060822-dls/testcases/network/lib6/asapi_06.c --- ltp-full-20060822/testcases/network/lib6/asapi_06.c 2006-08-22 07:32:45.000000000 -0700 +++ ltp-full-20060822-dls/testcases/network/lib6/asapi_06.c 2006-09-20 14:36:11.000000000 -0700 @@ -161,7 +161,7 @@ struct soent { int so_clear; /* get fresh socket? */ union soval so_clrval; union soval so_setval; - int so_valsize; + socklen_t so_valsize; } sotab[] = { /* RFC 3542, Section 4 */ { "IPV6_RECVPKTINFO", IPV6_RECVPKTINFO, 1, IPV6_PKTINFO, 1, @@ -221,8 +221,8 @@ struct cme { int cm_level; int cm_type; union { - uint8_t cmu_tclass; - uint8_t cmu_hops; + uint32_t cmu_tclass; + uint32_t cmu_hops; } cmu; } cmtab[] = { { sizeof(uint32_t), SOL_IPV6, IPV6_TCLASS, .cmu.cmu_tclass=0x12 }, @@ -282,7 +282,8 @@ so_test(struct soent *psoe) struct sockaddr_in6 sin6; struct soprot *psop; union soval sobuf; - int onoff, valsize; + int onoff; + socklen_t valsize; static int sr = -1; int st; @@ -322,7 +323,7 @@ so_test(struct soent *psoe) return; } valsize = psoe->so_valsize; - TEST(getsockopt(sr, SOL_IPV6, psoe->so_opt, &sobuf, &valsize)) + TEST(getsockopt(sr, SOL_IPV6, psoe->so_opt, &sobuf, &valsize)); if (TEST_RETURN != 0) { tst_resm(TBROK, "%s set-get: getsockopt: %s", psoe->so_tname, strerror(errno)); |
From: Michael R. <mr...@us...> - 2006-09-23 20:07:32
|
Patch Applied Thanks Michael |