diff options
Diffstat (limited to 'utils/sctp/func_tests/test_1_to_1_recvfrom.c')
-rw-r--r-- | utils/sctp/func_tests/test_1_to_1_recvfrom.c | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/utils/sctp/func_tests/test_1_to_1_recvfrom.c b/utils/sctp/func_tests/test_1_to_1_recvfrom.c index a4bdf6a41..0ede5628d 100644 --- a/utils/sctp/func_tests/test_1_to_1_recvfrom.c +++ b/utils/sctp/func_tests/test_1_to_1_recvfrom.c @@ -69,6 +69,8 @@ main(int argc, char *argv[]) char *message = "hello, world!\n"; char *message_rcv; int count; + int fd, err_no = 0; + char filename[21]; struct sockaddr_in conn_addr,lstn_addr,svr_addr; @@ -122,11 +124,20 @@ main(int argc, char *argv[]) tst_resm(TPASS, "recvfrom() with a bad socket descriptor - EBADF"); /*recvfrom () TEST2: Invalid socket , ENOTSOCK Expected error*/ - count = recvfrom(0, message_rcv, msg_count, flag, + strcpy(filename, "/tmp/sctptest.XXXXXX"); + fd = mkstemp(filename); + if (fd == -1) + tst_brkm(TBROK, tst_exit, "Failed to mkstemp %s: %s", + filename, strerror(errno)); + count = recvfrom(fd, message_rcv, msg_count, flag, (struct sockaddr *)&svr_addr, &len); - if (count != -1 || errno != ENOTSOCK) + if (count == -1) + err_no = errno; + close(fd); + unlink(filename); + if (count != -1 || err_no != ENOTSOCK) tst_brkm(TBROK, tst_exit, "recvfrom with invalid socket " - "count:%d, errno:%d", count, errno); + "count:%d, errno:%d", count, err_no); tst_resm(TPASS, "recvfrom() with invalid socket - ENOTSOCK"); |