Text   |  XML   |  ReML   |   Visible Warnings:

Useless Assignment  at fdpass.c:130

No properties have been set. | edit properties
Jump to warning location ↓ warning details...
Show Events | Options

fd_send

(/home/sate/Testcases/c/cve/dovecot-1.2.0/src/lib/fdpass.c)expand/collapse
Show more  
 97  ssize_t fd_send(int handle, int send_fd, const void *data, size_t size)
 98  {
 99          struct msghdr msg;
 100          struct iovec iov;
 101          struct cmsghdr *cmsg;
 102          char buf[CMSG_SPACE(sizeof(int))];
 103   
 104          /* at least one byte is required to be sent with fd passing */
 105          i_assert(size > 0 && size < INT_MAX);
 106   
 107          memset(&msg, 0, sizeof(struct msghdr));
 108   
 109          iov.iov_base = (void *) data;
 110          iov.iov_len = size;
 111   
 112          msg.msg_iov = &iov;
 113          msg.msg_iovlen = 1;
 114   
 115          if (send_fd != -1) {
 116                  /* set the control and controllen before CMSG_FIRSTHDR(). */
 117                  memset(buf, 0, sizeof(buf));
 118                  msg.msg_control = buf;
 119                  msg.msg_controllen = sizeof(buf);
 120   
 121                  cmsg = CMSG_FIRSTHDR(&msg);
 122                  cmsg->cmsg_level = SOL_SOCKET;
 123                  cmsg->cmsg_type = SCM_RIGHTS;
 124                  cmsg->cmsg_len = CMSG_LEN(sizeof(int));
 125                  *((int *) CMSG_DATA(cmsg)) = send_fd;
 126   
 127                  /* set the real length we want to use. Do it after all is 
 128                     set just in case CMSG macros required the extra padding 
 129                     in the end. */
 130                  msg.msg_controllen = cmsg->cmsg_len;
 131          }
 132   
 133          return sendmsg(handle, &msg, 0);
 134  }
Show more  




Change Warning 7056.24485 : Useless Assignment

Priority:
State:
Finding:
Owner:
Note: