Author: svn-role
Date: Mon Nov  7 04:00:07 2022
New Revision: 1905111

URL: http://svn.apache.org/viewvc?rev=1905111&view=rev
Log:
Merge r1904938 from trunk:

 * r1904938
   Java binding fixes.
   Justification:
     Don't crash if someone uses a null message
   Votes:
     +1: dsahlberg, jamessan

Modified:
    subversion/branches/1.14.x/   (props changed)
    subversion/branches/1.14.x/STATUS
    
subversion/branches/1.14.x/subversion/bindings/javahl/src/org/apache/subversion/javahl/NativeException.java
    
subversion/branches/1.14.x/subversion/bindings/javahl/src/org/tigris/subversion/javahl/NativeException.java
    
subversion/branches/1.14.x/subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java
    
subversion/branches/1.14.x/subversion/bindings/javahl/tests/org/tigris/subversion/javahl/BasicTests.java

Propchange: subversion/branches/1.14.x/
------------------------------------------------------------------------------
  Merged /subversion/trunk:r1904938

Modified: subversion/branches/1.14.x/STATUS
URL: 
http://svn.apache.org/viewvc/subversion/branches/1.14.x/STATUS?rev=1905111&r1=1905110&r2=1905111&view=diff
==============================================================================
--- subversion/branches/1.14.x/STATUS (original)
+++ subversion/branches/1.14.x/STATUS Mon Nov  7 04:00:07 2022
@@ -64,13 +64,6 @@ Veto-blocked changes:
 Approved changes:
 =================
 
- * r1904938
-   Java binding fixes.
-   Justification:
-     Don't crash if someone uses a null message
-   Votes:
-     +1: dsahlberg, jamessan
-
  * r1878379, r1883719, r1883722, r1884610
    Distinguish configure scripts on release mode and non release mode.
    Justification:

Modified: 
subversion/branches/1.14.x/subversion/bindings/javahl/src/org/apache/subversion/javahl/NativeException.java
URL: 
http://svn.apache.org/viewvc/subversion/branches/1.14.x/subversion/bindings/javahl/src/org/apache/subversion/javahl/NativeException.java?rev=1905111&r1=1905110&r2=1905111&view=diff
==============================================================================
--- 
subversion/branches/1.14.x/subversion/bindings/javahl/src/org/apache/subversion/javahl/NativeException.java
 (original)
+++ 
subversion/branches/1.14.x/subversion/bindings/javahl/src/org/apache/subversion/javahl/NativeException.java
 Mon Nov  7 04:00:07 2022
@@ -85,7 +85,11 @@ class NativeException extends Subversion
      */
     public String getMessage()
     {
-        StringBuffer msg = new StringBuffer(super.getMessage());
+        StringBuilder msg = new StringBuilder();
+        String message = super.getMessage();
+        if (message != null) {
+            msg.append(message);
+        }
         // ### This might be better off in JNIUtil::handleSVNError().
         String src = getSource();
         if (src != null)

Modified: 
subversion/branches/1.14.x/subversion/bindings/javahl/src/org/tigris/subversion/javahl/NativeException.java
URL: 
http://svn.apache.org/viewvc/subversion/branches/1.14.x/subversion/bindings/javahl/src/org/tigris/subversion/javahl/NativeException.java?rev=1905111&r1=1905110&r2=1905111&view=diff
==============================================================================
--- 
subversion/branches/1.14.x/subversion/bindings/javahl/src/org/tigris/subversion/javahl/NativeException.java
 (original)
+++ 
subversion/branches/1.14.x/subversion/bindings/javahl/src/org/tigris/subversion/javahl/NativeException.java
 Mon Nov  7 04:00:07 2022
@@ -88,7 +88,11 @@ class NativeException extends Subversion
      */
     public String getMessage()
     {
-        StringBuffer msg = new StringBuffer(super.getMessage());
+        StringBuilder msg = new StringBuilder();
+        String message = super.getMessage();
+        if (message != null) {
+            msg.append(message);
+        }
         // ### This might be better off in JNIUtil::handleSVNError().
         String src = getSource();
         if (src != null)

Modified: 
subversion/branches/1.14.x/subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java
URL: 
http://svn.apache.org/viewvc/subversion/branches/1.14.x/subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java?rev=1905111&r1=1905110&r2=1905111&view=diff
==============================================================================
--- 
subversion/branches/1.14.x/subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java
 (original)
+++ 
subversion/branches/1.14.x/subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java
 Mon Nov  7 04:00:07 2022
@@ -27,6 +27,7 @@ import static org.junit.Assert.*;
 import org.apache.subversion.javahl.callback.*;
 import org.apache.subversion.javahl.remote.*;
 import org.apache.subversion.javahl.types.*;
+import org.apache.subversion.javahl.NativeException;
 
 import java.io.File;
 import java.io.FileOutputStream;
@@ -4747,6 +4748,17 @@ public class BasicTests extends SVNTests
     }
 
     /**
+     * Test getMessage in NativeException.
+     * @throws Throwable
+     */
+    public void testGetMessage() throws Throwable
+    {
+       /* NativeException with a null message previously threw a 
NullPointerException */
+       assertEquals("", new NativeException(null, null, null, 0).getMessage());
+       assertEquals("messagesvn: source: (apr_err=0)", new 
NativeException("message", "source", null, 0).getMessage());
+    }
+
+    /**
      * @return <code>file</code> converted into a -- possibly
      * <code>canonical</code>-ized -- Subversion-internal path
      * representation.

Modified: 
subversion/branches/1.14.x/subversion/bindings/javahl/tests/org/tigris/subversion/javahl/BasicTests.java
URL: 
http://svn.apache.org/viewvc/subversion/branches/1.14.x/subversion/bindings/javahl/tests/org/tigris/subversion/javahl/BasicTests.java?rev=1905111&r1=1905110&r2=1905111&view=diff
==============================================================================
--- 
subversion/branches/1.14.x/subversion/bindings/javahl/tests/org/tigris/subversion/javahl/BasicTests.java
 (original)
+++ 
subversion/branches/1.14.x/subversion/bindings/javahl/tests/org/tigris/subversion/javahl/BasicTests.java
 Mon Nov  7 04:00:07 2022
@@ -22,6 +22,8 @@
  */
 package org.tigris.subversion.javahl;
 
+import org.tigris.subversion.javahl.NativeException;
+
 import java.io.File;
 import java.io.FileOutputStream;
 import java.io.FileNotFoundException;
@@ -3321,6 +3323,17 @@ public class BasicTests extends SVNTests
     }
 
     /**
+     * Test getMessage in NativeException.
+     * @throws Throwable 
+     */
+    public void testGetMessage() throws Throwable
+    {
+       /* NativeException with a null message previously threw a 
NullPointerException */
+       assertEquals("", new NativeException(null, null, 0).getMessage());
+       assertEquals("messagesvn: source: (apr_err=0)", new 
NativeException("message", "source", 0).getMessage());
+    }
+
+    /**
      * @return <code>file</code> converted into a -- possibly
      * <code>canonical</code>-ized -- Subversion-internal path
      * representation.


Reply via email to