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] Updated: (LANG-477) ExtendedMessageFormat: OutOfMemory with custom format registry and a pattern containing single quotes
Date Fri, 09 Jan 2009 10:20:59 GMT

     [ https://issues.apache.org/jira/browse/LANG-477?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Duncan Eley updated LANG-477:
-----------------------------

    Comment: was deleted

> 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
>         Attachments: DummyFormat.java, DummyFormatFactory.java, ExtendedMessageFormatTest.java
>
>
> When using ExtendedMessageFormat with a custom format registry and a pattern conatining
single quotes, an OutOfMemoryError will occur.
> Example that will cause error:
> {code:title=ExtendedMessageFormatTest.java|borderStyle=solid}
> 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);
>     }
> }
> {code}
> The following change starting at line 421 on the 2.4 release seems to fix the problem:
> {code:title=ExtendedMessageFormat.java|borderStyle=solid}
> 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);
> }
> {code}

-- 
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