]> git.ipfire.org Git - thirdparty/tvheadend.git/commitdiff
Fix the unsigned issue for gid/uid handling
authorJaroslav Kysela <perex@perex.cz>
Wed, 18 Mar 2015 08:48:32 +0000 (09:48 +0100)
committerJaroslav Kysela <perex@perex.cz>
Wed, 18 Mar 2015 08:48:46 +0000 (09:48 +0100)
src/main.c
src/utils.c

index 021409653a40eb8d2105303f2b738ba166918696..e4e0f791f7d5d1abe55fdaa855ffdff9fc080425 100644 (file)
@@ -756,12 +756,12 @@ main(int argc, char **argv)
   if (opt_fork)
     pidfile = tvh_fopen(opt_pidpath, "w+");
 
-  if (gid >= 0 && (getgid() != gid) && setgid(gid)) {
+  if (gid != -1 && (getgid() != gid) && setgid(gid)) {
     tvhlog(LOG_ALERT, "START",
            "setgid(%d) failed, do you have permission?", gid);
     return 1;
   }
-  if (uid >= 0 && (getuid() != uid) && setuid(uid)) {
+  if (uid != -1 && (getuid() != uid) && setuid(uid)) {
     tvhlog(LOG_ALERT, "START",
            "setuid(%d) failed, do you have permission?", uid);
     return 1;
index 6e62f02c67f27416a31e92d46096f921c03b4ba8..ba7ec46cfdbbc14ffea629cfd706e549d4d004ad 100644 (file)
@@ -491,7 +491,7 @@ makedirs ( const char *inpath, int mode, gid_t gid, uid_t uid )
       path[x] = 0;
       if (stat(path, &st)) {
         err = mkdir(path, mode);
-        if (!err && gid >= 0 && uid >= 0)
+        if (!err && gid != -1 && uid != -1)
           err = chown(path, uid, gid);
         tvhtrace("settings", "Creating directory \"%s\" with octal permissions "
                              "\"%o\" gid %d uid %d", path, mode, gid, uid);