Author: stefan2
Date: Fri Apr 12 17:24:57 2013
New Revision: 1467362
URL: http://svn.apache.org/r1467362
Log:
On the fsfs-format7 branch: Fix off-by-one error when
reading negative values from packed_data streams.
* subversion/libsvn_subr/packed_data.c
(svn_packed__data_fill_buffer): turn + into -
Modified:
subversion/branches/fsfs-format7/subversion/libsvn_subr/packed_data.c
Modified: subversion/branches/fsfs-format7/subversion/libsvn_subr/packed_data.c
URL:
http://svn.apache.org/viewvc/subversion/branches/fsfs-format7/subversion/libsvn_subr/packed_data.c?rev=1467362&r1=1467361&r2=1467362&view=diff
==============================================================================
--- subversion/branches/fsfs-format7/subversion/libsvn_subr/packed_data.c
(original)
+++ subversion/branches/fsfs-format7/subversion/libsvn_subr/packed_data.c Fri
Apr 12 17:24:57 2013
@@ -865,7 +865,7 @@ svn_packed__data_fill_buffer(svn_packed_
for (i = end; i > 0; --i)
{
apr_uint64_t temp = stream->buffer[i-1];
- temp = (temp % 2) ? 0 - (temp + 1) / 2 : temp / 2;
+ temp = (temp % 2) ? 0 - (temp - 1) / 2 : temp / 2;
last_value += temp;
stream->buffer[i-1] = last_value;
}
@@ -877,7 +877,7 @@ svn_packed__data_fill_buffer(svn_packed_
if (!private_data->diff && private_data->is_signed)
for (i = 0; i < end; ++i)
stream->buffer[i] = (stream->buffer[i] % 2)
- ? 0 - (stream->buffer[i] + 1) / 2
+ ? 0 - (stream->buffer[i] - 1) / 2
: stream->buffer[i] / 2;
}