tidying: coverity fixes
[exim.git] / src / src / dkim.c
index f0dfb8af3e23e1069c2084d6cff2580c8fcdb7c9..b9dbce68dee24a2b87d66c5924a03e71d4a997e6 100644 (file)
@@ -625,11 +625,12 @@ while ((dkim_signing_domain = string_nextinlist(&dkim_domain, &sep, NULL, 0)))
   if (prefix)
     pdkim_feed(ctx, prefix, Ustrlen(prefix));
 
-  lseek(fd, off, SEEK_SET);
-
-  while ((sread = read(fd, &buf, sizeof(buf))) > 0)
-    if ((pdkim_rc = pdkim_feed(ctx, buf, sread)) != PDKIM_OK)
-      goto pk_bad;
+  if (lseek(fd, off, SEEK_SET) < 0)
+    sread = -1;
+  else
+    while ((sread = read(fd, &buf, sizeof(buf))) > 0)
+      if ((pdkim_rc = pdkim_feed(ctx, buf, sread)) != PDKIM_OK)
+       goto pk_bad;
 
   /* Handle failed read above. */
   if (sread == -1)