Check syscall return values.
[exim.git] / src / src / dbfn.c
index c559a0b9b7de02dc0588c6898c876f6d06cd6054..4a1c20fe629d150bc831a2668d5b3232a3ad1815 100644 (file)
@@ -1,5 +1,3 @@
-/* $Cambridge: exim/src/src/dbfn.c,v 1.11 2009/11/16 19:50:36 nm4 Exp $ */
-
 /*************************************************
 *     Exim - an Internet mail transport agent    *
 *************************************************/
@@ -142,7 +140,7 @@ alarm(0);
 if (sigalrm_seen) errno = ETIMEDOUT;
 if (rc < 0)
   {
-  log_write(0, LOG_MAIN, "Failed to get %s lock for %s: %s",
+  log_write(0, LOG_MAIN|LOG_PANIC, "Failed to get %s lock for %s: %s",
     read_only? "read" : "write", buffer,
     (errno == ETIMEDOUT)? "timed out" : strerror(errno));
   (void)close(dbblock->lockfd);
@@ -210,7 +208,8 @@ if (created && geteuid() == root_uid)
       if (Ustat(buffer, &statbuf) >= 0 && statbuf.st_uid != exim_uid)
         {
         DEBUG(D_hints_lookup) debug_printf("ensuring %s is owned by exim\n", buffer);
-        (void)Uchown(buffer, exim_uid, exim_gid);
+        if (Uchown(buffer, exim_uid, exim_gid))
+          DEBUG(D_hints_lookup) debug_printf("failed setting %s to owned by exim\n", buffer);
         }
       }
     }