X-Git-Url: https://git.exim.org/exim.git/blobdiff_plain/42055a338593d66f0abb6eeb6b03f0eaf4439f57..a5ffa9b475a426bc73366db01f7cc92a3811bc3a:/src/src/dkim.c diff --git a/src/src/dkim.c b/src/src/dkim.c index f0dfb8af3..b9dbce68d 100644 --- a/src/src/dkim.c +++ b/src/src/dkim.c @@ -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)