diff options
| author | lhb-jr <lhb.jr@gmx.com> | 2014-03-21 11:55:36 -0400 | 
|---|---|---|
| committer | lhb-jr <lhb.jr@gmx.com> | 2014-03-21 11:55:36 -0400 | 
| commit | 728baddb472075e21421ebdc5de0a6e992453fbc (patch) | |
| tree | 5b40ec262cb7dc5953ae761ef00f46eca72d641a | |
| parent | c0acbd0656ae0aeaa53f1d291fdee385ea43f7ff (diff) | |
fixed gcc warnings that call returns not checked
modified:   src/collect/collect.c
modified:   src/udev/udev-node.c
modified:   src/udev/udevadm-settle.c
modified:   src/udev/udevd.c
| -rw-r--r-- | src/collect/collect.c | 33 | ||||
| -rw-r--r-- | src/udev/udev-node.c | 9 | ||||
| -rw-r--r-- | src/udev/udevadm-settle.c | 5 | ||||
| -rw-r--r-- | src/udev/udevd.c | 5 | 
4 files changed, 36 insertions, 16 deletions
| diff --git a/src/collect/collect.c b/src/collect/collect.c index 7fefc62c10..b99a170420 100644 --- a/src/collect/collect.c +++ b/src/collect/collect.c @@ -83,6 +83,8 @@ static void usage(void)   * prepare   *   * Prepares the database file + * returns file descriptor on success + * returns errno on failure   */  static int prepare(char *dir, char *filename)  { @@ -96,21 +98,22 @@ static int prepare(char *dir, char *filename)          snprintf(buf, sizeof(buf), "%s/%s", dir, filename);          fd = open(buf,O_RDWR|O_CREAT|O_CLOEXEC, S_IRUSR|S_IWUSR); -        if (fd < 0) +        if (fd < 0) {                  fprintf(stderr, "Cannot open %s: %m\n", buf); - +				return errno; +		}          if (lockf(fd,F_TLOCK,0) < 0) {                  if (debug) -                        fprintf(stderr, "Lock taken, wait for %d seconds\n", UDEV_ALARM_TIMEOUT); -                if (errno == EAGAIN || errno == EACCES) { -                        alarm(UDEV_ALARM_TIMEOUT); -                        lockf(fd, F_LOCK, 0); -                        if (debug) -                                fprintf(stderr, "Acquired lock on %s\n", buf); -                } else { +                        fprintf(stderr, "Lock aquisition failed, retry in %d seconds\n" +						              , UDEV_ALARM_TIMEOUT); +                alarm(UDEV_ALARM_TIMEOUT); +                if(lockf(fd, F_LOCK, 0)<0){                          if (debug)                                  fprintf(stderr, "Could not get lock on %s: %m\n", buf); -                } +						return errno; +				} +                if (debug) +                        fprintf(stderr, "Acquired lock on %s\n", buf);          }          return fd; @@ -476,10 +479,16 @@ int main(int argc, char **argv)          kickout();          lseek(fd, 0, SEEK_SET); -        ftruncate(fd, 0); +        if(ftruncate(fd, 0)!=0) { +		        ret = errno; +				goto out; +		}          ret = missing(fd); -        lockf(fd, F_ULOCK, 0); +        if(lockf(fd, F_ULOCK, 0) !=0 ) { +		        ret = errno; +				goto out; +		}          close(fd);  out:          if (debug) diff --git a/src/udev/udev-node.c b/src/udev/udev-node.c index 200e24fb41..2dddc7b4b4 100644 --- a/src/udev/udev-node.c +++ b/src/udev/udev-node.c @@ -286,8 +286,13 @@ static int node_permissions_apply(struct udev_device *dev, bool apply,                  if ((stats.st_mode & 0777) != (mode & 0777) || stats.st_uid != uid || stats.st_gid != gid) {                          log_debug("set permissions %s, %#o, uid=%u, gid=%u", devnode, mode, uid, gid); -                        chmod(devnode, mode); -                        chown(devnode, uid, gid); +                        ; +                        if((chmod(devnode, mode) !=0 ) || (chown(devnode, uid,gid) !=0)) { +				                err = -errno;   +                                log_error("FAILED to set permissions %s, %#o, uid=%u, gid=%u" +								          ,devnode, mode, uid, gid); +								goto out; +						}                  } else {                          log_debug("preserve permissions %s, %#o, uid=%u, gid=%u", devnode, mode, uid, gid);                  } diff --git a/src/udev/udevadm-settle.c b/src/udev/udevadm-settle.c index 9eeeab8f14..9ae6c6bf8e 100644 --- a/src/udev/udevadm-settle.c +++ b/src/udev/udevadm-settle.c @@ -201,7 +201,10 @@ static int adm_settle(struct udev *udev, int argc, char *argv[])                          if (poll(pfd, 1, delay) > 0 && pfd[0].revents & POLLIN) {                                  char buf[sizeof(struct inotify_event) + PATH_MAX]; -                                read(pfd[0].fd, buf, sizeof(buf)); +                                if(read(pfd[0].fd, buf, sizeof(buf)) < 0){ +								        log_error("failed to read /run/udev"); +										goto out; +								}                          }                  } else {                          sleep(1); diff --git a/src/udev/udevd.c b/src/udev/udevd.c index 850e4f5ef6..03de852c02 100644 --- a/src/udev/udevd.c +++ b/src/udev/udevd.c @@ -1031,7 +1031,10 @@ int main(int argc, char *argv[])          }          /* set umask before creating any file/directory */ -        chdir("/"); +        if(chdir("/")!= 0) { +                log_error("unable to change into directory '/'"); +                goto exit; +        }          umask(022);          mkdir("/run/udev", 0755); | 
