X-Git-Url: http://git.ozlabs.org/?a=blobdiff_plain;f=pppd%2Fsys-linux.c;h=4c04e7e5c2d005bf0a37994b1dbc21cda4e4b488;hb=6c74226a2521dbc22eb063676278473a7a9a640a;hp=e1bb8108ea0964d81d0c4b64ead2132e97aa5889;hpb=c1c8357d05ed0039af411d3fd91d83e27be5edab;p=ppp.git diff --git a/pppd/sys-linux.c b/pppd/sys-linux.c index e1bb810..4c04e7e 100644 --- a/pppd/sys-linux.c +++ b/pppd/sys-linux.c @@ -3143,7 +3143,7 @@ int cif6addr (int unit, eui64_t our_eui64, eui64_t his_eui64) int get_pty(int *master_fdp, int *slave_fdp, char *slave_name, int uid) { - int i, mfd, sfd = -1; + int i, mfd, ret, sfd = -1; char pty_name[16]; struct termios tios; @@ -3181,8 +3181,14 @@ get_pty(int *master_fdp, int *slave_fdp, char *slave_name, int uid) pty_name[5] = 't'; sfd = open(pty_name, O_RDWR | O_NOCTTY, 0); if (sfd >= 0) { - fchown(sfd, uid, -1); - fchmod(sfd, S_IRUSR | S_IWUSR); + ret = fchown(sfd, uid, -1); + if (ret != 0) { + warn("Couldn't change ownership of %s, %m", pty_name); + } + ret = fchmod(sfd, S_IRUSR | S_IWUSR); + if (ret != 0) { + warn("Couldn't change permissions of %s, %m", pty_name); + } break; } close(mfd);