flags = 0;
len = getmsg(pppfd, &ctrl, &data, &flags);
if (len < 0) {
flags = 0;
len = getmsg(pppfd, &ctrl, &data, &flags);
if (len < 0) {
strlcpy(ifr.ifr_name, ifname, sizeof(ifr.ifr_name));
if (ioctl(sockfd, SIOCGIFFLAGS, &ifr) < 0) {
error("Couldn't mark interface down (get): %m");
strlcpy(ifr.ifr_name, ifname, sizeof(ifr.ifr_name));
if (ioctl(sockfd, SIOCGIFFLAGS, &ifr) < 0) {
error("Couldn't mark interface down (get): %m");
if (ioctl(sockfd, SIOCSIPMTU, &ifr) < 0) {
error("Couldn't set IP MTU: %m");
ret = 0;
if (ioctl(sockfd, SIOCSIPMTU, &ifr) < 0) {
error("Couldn't set IP MTU: %m");
ret = 0;
- strlcpy(ut.ut_line, line, sizeof(ut.ut_line));
- strlcpy(ut.ut_name, name, sizeof(ut.ut_name));
- strlcpy(ut.ut_host, host, sizeof(ut.ut_host));
+ strncpy(ut.ut_line, line, sizeof(ut.ut_line));
+ strncpy(ut.ut_name, name, sizeof(ut.ut_name));
+ strncpy(ut.ut_host, host, sizeof(ut.ut_host));
(void)time(&ut.ut_time);
if (write(fd, (char *)&ut, sizeof(struct utmp)) != sizeof(struct utmp))
(void)ftruncate(fd, buf.st_size);
(void)time(&ut.ut_time);
if (write(fd, (char *)&ut, sizeof(struct utmp)) != sizeof(struct utmp))
(void)ftruncate(fd, buf.st_size);