You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by br...@apache.org on 2013/03/14 07:13:38 UTC
svn commit: r1456339 -
/subversion/trunk/subversion/bindings/javahl/native/CreateJ.cpp
Author: brane
Date: Thu Mar 14 06:13:38 2013
New Revision: 1456339
URL: http://svn.apache.org/r1456339
Log:
* subversion/bindings/javahl/native/CreateJ.cpp
(CreateJ::ClientNotifyInformation): Silence a type conversion warning and
check for overflow when narrowing from C unsigned long to Java int.
Modified:
subversion/trunk/subversion/bindings/javahl/native/CreateJ.cpp
Modified: subversion/trunk/subversion/bindings/javahl/native/CreateJ.cpp
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/bindings/javahl/native/CreateJ.cpp?rev=1456339&r1=1456338&r2=1456339&view=diff
==============================================================================
--- subversion/trunk/subversion/bindings/javahl/native/CreateJ.cpp (original)
+++ subversion/trunk/subversion/bindings/javahl/native/CreateJ.cpp Thu Mar 14 06:13:38 2013
@@ -730,7 +730,13 @@ CreateJ::ClientNotifyInformation(const s
jlong jhunkModifiedStart = wcNotify->hunk_modified_start;
jlong jhunkModifiedLength = wcNotify->hunk_modified_length;
jlong jhunkMatchedLine = wcNotify->hunk_matched_line;
- jint jhunkFuzz = wcNotify->hunk_fuzz;
+ jint jhunkFuzz = static_cast<jint>(wcNotify->hunk_fuzz);
+ if (jhunkFuzz != wcNotify->hunk_fuzz)
+ {
+ env->ThrowNew(env->FindClass("java.lang.ArithmeticException"),
+ "Overflow converting C unsigned long to Java int");
+ POP_AND_RETURN_NULL;
+ }
// call the Java method
jobject jInfo = env->NewObject(clazz, midCT, jPath, jAction,