This is an automated email from the ASF dual-hosted git repository.

truckman pushed a commit to branch AOO42X
in repository https://gitbox.apache.org/repos/asf/openoffice.git


The following commit(s) were added to refs/heads/AOO42X by this push:
     new a205075113 Fix SunVersion selftest failed coredump
a205075113 is described below

commit a205075113a03de2167587dcb2d5a5fc9a4229bf
Author: Don Lewis <truck...@apache.org>
AuthorDate: Thu Nov 14 01:06:15 2024 -0800

    Fix SunVersion selftest failed coredump
    
    When building with the --debug config option, a selftest is run to
    validate the Java version sanity checking code.  The version syntax
    is:
      // 0 = major, 1 = minor, 2 = maintenance, 3 = update
    with the first three parts delimted by '.' and the last part by '_'.
    
    Originally, the update part only allowed two digits, but it was
    later extended to three.
      //1.4.1_01-, 1.4.1_01a, the numerical part may only be 2 chars.
      //1.7.0_161, 1.8.0_162, it's as long as 3 chars in later Java version.
    
    The code didn't actually accept three digit update values until this
    commit:
      commit 3bd2d6aed629c4323ea9e8426acfb793eb9046fd
      Author: Damjan Jovanovic <dam...@apache.org>
      Date:   Sun Apr 15 15:00:46 2018 +0000
    
          Allow the Java version suffix (eg. the 162 in 1.8.0_162) to be
          3 digits long.
    
          Patch by: me
    
    Unfortunately, this breaks the selftest, which has a list of valid
    versions that should be accepted and another list that should be
    rejected.  One of the bad values is 1.5.0_010.  After the above commit
    this version was no longer rejected, which cause a failed assert and
    core dump;
      Error: File .../main/jvmfwk/plugins/sunmajor/pluginlib/sunversion.cxx, 
Line 375: SunVersion selftest failed
    
    Fix by adding a three digit update version to the valid versions list
    and changing the bad list to have a four digit update.
    
    Merge this change along with 3bd2d6aed629c4323ea9e8426acfb793eb9046f
    
    (cherry picked from commit f73c1d468b0850dc4afd9b2e31bf586c89d596a7)
---
 main/jvmfwk/plugins/sunmajor/pluginlib/sunversion.cxx | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/main/jvmfwk/plugins/sunmajor/pluginlib/sunversion.cxx 
b/main/jvmfwk/plugins/sunmajor/pluginlib/sunversion.cxx
index a36f2fef8f..796b6a309f 100644
--- a/main/jvmfwk/plugins/sunmajor/pluginlib/sunversion.cxx
+++ b/main/jvmfwk/plugins/sunmajor/pluginlib/sunversion.cxx
@@ -338,12 +338,15 @@ SelfTest::SelfTest()
                          "1.4.1_01", "9.90.99_09", "1.4.1_99",
                          "1.4.1_00a", 
                          "1.4.1-ea", "1.4.1-beta", "1.4.1-rc1",
-                         "1.5.0_01-ea", "1.5.0_01-rc2"};
+                         "1.5.0_01-ea", "1.5.0_01-rc2",
+                         "1.7.0_161"};
     char const * badVersions[] = {".4.0", "..1", "", "10.0", "10.10.0.", 
"10.10.0-", "10.10.0.",
                             "10.2-2", "10_10.0", "10..10","10.10", "a.0.999",
                             "1.4b.1_01", "9.90.-99_09", "1.4.1_99-",
                             "1.4.1_00a2", "1.4.0_z01z", "1.4.1__99A",
-                            "1.4.1-1ea", "1.5.0_010", "1.5.0._01-", 
"1.5.0_01-eac"};
+                            // "1.5.0_010" is now valid
+                            // "1.4.1-1ea", "1.5.0_010", "1.5.0._01-", 
"1.5.0_01-eac"};
+                            "1.4.1-1ea", "1.8.0_0100", "1.5.0._01-", 
"1.5.0_01-eac"};
     char const * orderedVer[] = { "1.3.1-ea", "1.3.1-beta", "1.3.1-rc1",
                             "1.3.1", "1.3.1_00a", "1.3.1_01", "1.3.1_01a",
                             "1.3.2", "1.4.0", "1.5.0_01-ea", "2.0.0"};

Reply via email to