Commit a74cab62 authored by Yann Garcia's avatar Yann Garcia
Browse files

Bug fixed in socket construction

parent 97bb646e
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -124,7 +124,7 @@ int main(const int32_t p_argc, char* const p_argv[]) {
    /* Bind it to the specified NIC Ethernet */
    /* Bind it to the specified NIC Ethernet */
    struct ifreq ifr;
    struct ifreq ifr;
    memset(&ifr, 0, sizeof(ifr));
    memset(&ifr, 0, sizeof(ifr));
    strncpy(ifr.ifr_name, udp_nic, sizeof(ifr.ifr_name));
    snprintf(ifr.ifr_name, sizeof(ifr.ifr_name), "%s", udp_nic);
    if (setsockopt(socket_hd, SOL_SOCKET, SO_BINDTODEVICE, (void *)&ifr.ifr_name, strlen(ifr.ifr_name)) < 0) {
    if (setsockopt(socket_hd, SOL_SOCKET, SO_BINDTODEVICE, (void *)&ifr.ifr_name, strlen(ifr.ifr_name)) < 0) {
      fprintf(stderr, "Failed to bind socket to %s.\n", ifr.ifr_name);
      fprintf(stderr, "Failed to bind socket to %s.\n", ifr.ifr_name);
      close(socket_hd);
      close(socket_hd);
+2 −2
Original line number Original line Diff line number Diff line
@@ -127,7 +127,7 @@ int main(const int32_t p_argc, char* const p_argv[]) {
    /* allow multiple instances to receive copies of the multicast datagrams */
    /* allow multiple instances to receive copies of the multicast datagrams */
    int32_t flags = 1;
    int32_t flags = 1;
    if (setsockopt(socket_hd, SOL_SOCKET, SO_REUSEADDR, (char *)&flags, sizeof(flags)) < 0) {
    if (setsockopt(socket_hd, SOL_SOCKET, SO_REUSEADDR, (char *)&flags, sizeof(flags)) < 0) {
      fprintf(stderr, "Failed to set SO_REUSEADDR option.\n");
      fprintf(stderr, "Failed to set SO_REUSEADDR option: %s.\n", strerror(errno));
      close(socket_hd);
      close(socket_hd);
      goto error;
      goto error;
    }
    }
@@ -135,7 +135,7 @@ int main(const int32_t p_argc, char* const p_argv[]) {
    struct ifreq ifr;
    struct ifreq ifr;
    memset(&ifr, 0, sizeof(ifr));
    memset(&ifr, 0, sizeof(ifr));
    ifr.ifr_addr.sa_family = AF_INET;
    ifr.ifr_addr.sa_family = AF_INET;
    snprintf(ifr.ifr_name, sizeof(ifr.ifr_name), udp_nic);
    snprintf(ifr.ifr_name, sizeof(ifr.ifr_name), "%s", udp_nic);
    if (setsockopt(socket_hd, SOL_SOCKET, SO_BINDTODEVICE, (void *)&ifr.ifr_name, strlen(ifr.ifr_name)) < 0) {
    if (setsockopt(socket_hd, SOL_SOCKET, SO_BINDTODEVICE, (void *)&ifr.ifr_name, strlen(ifr.ifr_name)) < 0) {
      fprintf(stderr, "Failed to bind socket to %s.\n", ifr.ifr_name);
      fprintf(stderr, "Failed to bind socket to %s.\n", ifr.ifr_name);
      close(socket_hd);
      close(socket_hd);