commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Duncan Eley (JIRA)" <j...@apache.org>
Subject [jira] Created: (LANG-477) ExtendedMessageFormat: OutOfMemory with custom format registry and a pattern containing single quotes
Date Fri, 09 Jan 2009 10:07:00 GMT
ExtendedMessageFormat: OutOfMemory with custom format registry and a pattern containing single
quotes
-----------------------------------------------------------------------------------------------------

                 Key: LANG-477
                 URL: https://issues.apache.org/jira/browse/LANG-477
             Project: Commons Lang
          Issue Type: Bug
    Affects Versions: 2.4
            Reporter: Duncan Eley


When using ExtendedMessageFormat with a custom format registry and a pattern conatining single
quotes, an OutOfMemoryError will occur.

Example that will cause error:

private static Map<String, Object> formatRegistry = new HashMap<String, Object>();
   
    static {
        formatRegistry.put(DummyFormatFactory.DUMMY_FORMAT, new DummyFormatFactory());
    }
    
    public static void main(String[] args) {
        ExtendedMessageFormat mf = new ExtendedMessageFormat("it''s a {dummy} 'test'!", formatRegistry);
        String formattedPattern = mf.format(new String[] {"great"});
        System.out.println(formattedPattern);
    }
}

The following change starting at line 421 on the 2.4 release seems to fix the problem:

CURRENT (Broken):
if (escapingOn && c[start] == QUOTE) {
        return appendTo == null ? null : appendTo.append(QUOTE);
}

WORKING:
if (escapingOn && c[start] == QUOTE) {
        next(pos);
        return appendTo == null ? null : appendTo.append(QUOTE);
}

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message