You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by st...@apache.org on 2012/11/04 12:33:42 UTC
svn commit: r1405527 - in /subversion/trunk/subversion:
libsvn_client/deprecated.c libsvn_delta/svndiff.c
Author: stefan2
Date: Sun Nov 4 11:33:42 2012
New Revision: 1405527
URL: http://svn.apache.org/viewvc?rev=1405527&view=rev
Log:
Silence signedness mismatch in overflow checks.
* subversion/libsvn_client/deprecated.c
(info_from_info2): fix signedness mismatch in overflow check
* subversion/libsvn_delta/svndiff.c
(write_handler,
read_window_header): ditto
Modified:
subversion/trunk/subversion/libsvn_client/deprecated.c
subversion/trunk/subversion/libsvn_delta/svndiff.c
Modified: subversion/trunk/subversion/libsvn_client/deprecated.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_client/deprecated.c?rev=1405527&r1=1405526&r2=1405527&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_client/deprecated.c (original)
+++ subversion/trunk/subversion/libsvn_client/deprecated.c Sun Nov 4 11:33:42 2012
@@ -2385,7 +2385,7 @@ info_from_info2(svn_info_t **new_info,
info->size64 = info2->size;
if (info2->size == SVN_INVALID_FILESIZE)
info->size = SVN_INFO_SIZE_UNKNOWN;
- else if (((apr_size_t)info->size64) == info->size64)
+ else if (((svn_filesize_t)(apr_size_t)info->size64) == info->size64)
info->size = (apr_size_t)info->size64;
else /* >= 4GB */
info->size = SVN_INFO_SIZE_UNKNOWN;
@@ -2411,7 +2411,7 @@ info_from_info2(svn_info_t **new_info,
info->depth = svn_depth_infinity;
info->working_size64 = info2->wc_info->recorded_size;
- if (((apr_size_t)info->working_size64) == info->working_size64)
+ if (((svn_filesize_t)(apr_size_t)info->working_size64) == info->working_size64)
info->working_size = (apr_size_t)info->working_size64;
else /* >= 4GB */
info->working_size = SVN_INFO_SIZE_UNKNOWN;
Modified: subversion/trunk/subversion/libsvn_delta/svndiff.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_delta/svndiff.c?rev=1405527&r1=1405526&r2=1405527&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_delta/svndiff.c (original)
+++ subversion/trunk/subversion/libsvn_delta/svndiff.c Sun Nov 4 11:33:42 2012
@@ -852,7 +852,7 @@ write_handler(void *baton,
/* Check for integer overflow. */
if (sview_offset < 0 || inslen + newlen < inslen
|| sview_len + tview_len < sview_len
- || sview_offset + sview_len < sview_offset)
+ || (apr_size_t)sview_offset + sview_len < (apr_size_t)sview_offset)
return svn_error_create(SVN_ERR_SVNDIFF_CORRUPT_WINDOW, NULL,
_("Svndiff contains corrupt window header"));
@@ -1016,7 +1016,7 @@ read_window_header(svn_stream_t *stream,
/* Check for integer overflow. */
if (*sview_offset < 0 || *inslen + *newlen < *inslen
|| *sview_len + *tview_len < *sview_len
- || *sview_offset + *sview_len < *sview_offset)
+ || (apr_size_t)*sview_offset + *sview_len < (apr_size_t)*sview_offset)
return svn_error_create(SVN_ERR_SVNDIFF_CORRUPT_WINDOW, NULL,
_("Svndiff contains corrupt window header"));