File: sctp2.c

package info (click to toggle)
valgrind 1%3A3.24.0-3
  • links: PTS, VCS
  • area: main
  • in suites: trixie
  • size: 176,332 kB
  • sloc: ansic: 795,029; exp: 26,134; xml: 23,472; asm: 14,393; cpp: 9,397; makefile: 7,464; sh: 6,122; perl: 5,446; python: 1,498; javascript: 981; awk: 166; csh: 1
file content (42 lines) | stat: -rw-r--r-- 1,107 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42

#include <sys/types.h>
#include <sys/socket.h>
#include <unistd.h>
#include <arpa/inet.h>
#include <libgen.h>
#include <netinet/in.h>
#include <netinet/sctp.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdint.h>
#include "../../memcheck.h"

int main()
{
   int conn_fd;
   char msg[10];
   char buffer[10];
   struct sockaddr to;
   socklen_t tolen = sizeof (struct sockaddr);
   uint32_t ppid;
   uint32_t flags;
   uint16_t stream_no;
   uint32_t timetolive;
   uint32_t context;
   struct sctp_sndrcvinfo sinfo;
   int rflags;
   size_t undef_size = 10U;
   
   VALGRIND_MAKE_MEM_UNDEFINED(&undef_size, sizeof(undef_size));
   VALGRIND_MAKE_MEM_UNDEFINED(&tolen, sizeof(tolen));

   sctp_sendmsg(conn_fd, msg, undef_size, &to, tolen, ppid, flags, stream_no, timetolive, context);
   
   VALGRIND_MAKE_MEM_NOACCESS(&to, sizeof(to));
   VALGRIND_MAKE_MEM_UNDEFINED(&tolen, sizeof(tolen));
   VALGRIND_MAKE_MEM_NOACCESS(&sinfo, sizeof(sinfo));
   VALGRIND_MAKE_MEM_NOACCESS(&rflags, sizeof(rflags));

   sctp_recvmsg(conn_fd, buffer, undef_size, &to, &tolen, &sinfo, &rflags);
}