Just enjoy snprintf()

Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
This commit is contained in:
Adrien Gallouët
2019-06-14 18:42:29 +00:00
parent db718d5942
commit 5976434285
5 changed files with 23 additions and 67 deletions

View File

@@ -1,7 +1,7 @@
#include "common.h"
#include "iface.h"
#include "str.h"
#include <stdio.h>
#include <net/if.h>
#include <sys/ioctl.h>
@@ -17,13 +17,11 @@ iface_set_mtu(const char *dev_name, size_t mtu)
.ifr_mtu = (int)mtu,
};
const size_t len = sizeof(ifr.ifr_name) - 1;
int ret = snprintf(ifr.ifr_name, sizeof(ifr.ifr_name), "%s", dev_name);
if (str_cpy(ifr.ifr_name, len, dev_name) == len) {
if (str_len(dev_name, len + 1) > len) {
errno = EINTR;
return -1;
}
if (ret <= 0 || (size_t)ret >= sizeof(ifr.ifr_name)) {
errno = EINTR;
return -1;
}
int fd = socket(AF_INET, SOCK_DGRAM, 0);
@@ -31,7 +29,7 @@ iface_set_mtu(const char *dev_name, size_t mtu)
if (fd == -1)
return -1;
int ret = ioctl(fd, SIOCSIFMTU, &ifr);
ret = ioctl(fd, SIOCSIFMTU, &ifr);
int err = errno;
close(fd);