guile-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Guile-commits] GNU Guile branch, stable-2.0, updated. v2.0.3-205-ge22ad


From: Chris K. Jester-Young
Subject: [Guile-commits] GNU Guile branch, stable-2.0, updated. v2.0.3-205-ge22ad42
Date: Sat, 28 Jan 2012 20:55:57 +0000

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU Guile".

http://git.savannah.gnu.org/cgit/guile.git/commit/?id=e22ad42bdbba47a023748c541d4c8fc5b88441d8

The branch, stable-2.0 has been updated
       via  e22ad42bdbba47a023748c541d4c8fc5b88441d8 (commit)
      from  241247e8b967eea0c017f51d6ff565bd667c94a8 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit e22ad42bdbba47a023748c541d4c8fc5b88441d8
Author: Chris K. Jester-Young <address@hidden>
Date:   Sat Jan 28 01:34:42 2012 -0500

    Fix double-free error on non-GNU systems.
    
    * libguile/i18n.c (scm_make_locale): Null out c_locale_name after it's
      freed, so it doesn't get freed again. While this only has effect if
      USE_GNU_LOCALE_API is unset, the nulling out happens in both cases,
      to be consistent and robust.
      (scm_nl_langinfo): Free c_result in all switch cases, in particular
      P_SIGN_POSN, N_SIGN_POSN, INT_P_SIGN_POSN, and INT_N_SIGN_POSN.

-----------------------------------------------------------------------

Summary of changes:
 libguile/i18n.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/libguile/i18n.c b/libguile/i18n.c
index 4bb9e21..5a53bfa 100644
--- a/libguile/i18n.c
+++ b/libguile/i18n.c
@@ -645,6 +645,7 @@ SCM_DEFINE (scm_make_locale, "make-locale", 2, 1, 0,
   c_locale = newlocale (c_category_mask, c_locale_name, c_base_locale);
 
   free (c_locale_name);
+  c_locale_name = NULL;
 
   if (c_locale == (locale_t) 0)
     {
@@ -662,6 +663,7 @@ SCM_DEFINE (scm_make_locale, "make-locale", 2, 1, 0,
   c_locale->category_mask = c_category_mask;
   c_locale->locale_name = scm_gc_strdup (c_locale_name, "locale");
   free (c_locale_name);
+  c_locale_name = NULL;
 
   if (scm_is_eq (base_locale, SCM_VARIABLE_REF (scm_global_locale)))
     {
@@ -1652,6 +1654,7 @@ SCM_DEFINE (scm_nl_langinfo, "nl-langinfo", 1, 1, 0,
            default:
              result = scm_from_latin1_symbol ("unspecified");
            }
+         free (c_result);
          break;
 #endif
 


hooks/post-receive
-- 
GNU Guile



reply via email to

[Prev in Thread] Current Thread [Next in Thread]