8025712: (props) Possible memory leak in java_props_md.c / ParseLocale
authordxu
Fri, 11 Oct 2013 09:47:26 -0700
changeset 20776 6c440a257019
parent 20775 a7cd22051d8f
child 20778 26af21e74a8d
child 20853 505b28fe2b98
8025712: (props) Possible memory leak in java_props_md.c / ParseLocale Reviewed-by: naoto, chegar
jdk/src/solaris/native/java/lang/java_props_md.c
--- a/jdk/src/solaris/native/java/lang/java_props_md.c	Fri Oct 11 09:17:18 2013 -0400
+++ b/jdk/src/solaris/native/java/lang/java_props_md.c	Fri Oct 11 09:47:26 2013 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -158,6 +158,9 @@
 
     temp = malloc(strlen(lc) + 1);
     if (temp == NULL) {
+#ifdef MACOSX
+        free(lc); // malloced memory
+#endif
         JNU_ThrowOutOfMemoryError(env, NULL);
         return 0;
     }
@@ -172,7 +175,6 @@
          * the encoding - without it, we wouldn't get ISO-8859-15.
          * Therefore, this code section is Solaris-specific.
          */
-        lc = strdup(lc);    /* keep a copy, setlocale trashes original. */
         strcpy(temp, lc);
         p = strstr(temp, "@euro");
         if (p != NULL) {