lib/commit: Rework a conditional set for clarity and Coverity

Coverity complained that the `else if (bytes_read == 0)` was dead
code if we happened to find it was already false when testing
`else if (G_UNLIKELY (bytes_read == 0 ...`.

There was nothing wrong with the logic, but let's rework it to
only test the value once; I think it does end up nicer anyways.

Coverity CID: 1452186

Closes: #1037
Approved by: jlebon
This commit is contained in:
Colin Walters 2017-07-31 12:35:58 -04:00 committed by Atomic Bot
parent fe8938227e
commit 2f0707a054
1 changed files with 6 additions and 3 deletions

View File

@ -485,10 +485,13 @@ create_regular_tmpfile_linkable_with_content (OstreeRepo *self,
g_input_stream_read (input, buf, MIN (remaining, sizeof (buf)), cancellable, error);
if (bytes_read < 0)
return FALSE;
else if (G_UNLIKELY (bytes_read == 0 && remaining > 0))
return glnx_throw (error, "Unexpected EOF with %" G_GUINT64_FORMAT "/%" G_GUINT64_FORMAT " bytes remaining", remaining, length);
else if (bytes_read == 0)
break;
{
if (G_UNLIKELY (remaining > 0))
return glnx_throw (error, "Unexpected EOF with %" G_GUINT64_FORMAT "/%" G_GUINT64_FORMAT " bytes remaining", remaining, length);
else
break;
}
if (glnx_loop_write (tmpf.fd, buf, bytes_read) < 0)
return glnx_throw_errno_prefix (error, "write");
remaining -= bytes_read;