guile-cvs
[Top][All Lists]
Advanced

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

guile/guile-core/libguile ChangeLog symbols.c


From: Martin Grabmueller
Subject: guile/guile-core/libguile ChangeLog symbols.c
Date: Mon, 28 May 2001 11:42:57 -0700

CVSROOT:        /cvs
Module name:    guile
Changes by:     Martin Grabmueller <address@hidden>     01/05/28 11:42:57

Modified files:
        guile-core/libguile: ChangeLog symbols.c 

Log message:
        * symbols.c (scm_gensym): Fix buffer overrun (try `(gensym
        (make-string 2000 #\!))' in an older version).
        
        Change strncpy to memcpy to allow embedded NUL characters in
        symbol prefix.

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/libguile/ChangeLog.diff?cvsroot=OldCVS&tr1=1.1416&tr2=1.1417&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/libguile/symbols.c.diff?cvsroot=OldCVS&tr1=1.89&tr2=1.90&r1=text&r2=text

Patches:
Index: guile/guile-core/libguile/ChangeLog
diff -u guile/guile-core/libguile/ChangeLog:1.1416 
guile/guile-core/libguile/ChangeLog:1.1417
--- guile/guile-core/libguile/ChangeLog:1.1416  Mon May 28 07:18:35 2001
+++ guile/guile-core/libguile/ChangeLog Mon May 28 11:42:57 2001
@@ -1,3 +1,11 @@
+2001-05-28  Martin Grabmueller  <address@hidden>
+
+       * symbols.c (scm_gensym): Fix buffer overrun (try `(gensym
+       (make-string 2000 #\!))' in an older version).  
+
+       Change strncpy to memcpy to allow embedded NUL characters in
+       symbol prefix.
+
 2001-05-28  Michael Livshin  <address@hidden>
 
        * hooks.c (scm_create_hook): deprecated.
Index: guile/guile-core/libguile/symbols.c
diff -u guile/guile-core/libguile/symbols.c:1.89 
guile/guile-core/libguile/symbols.c:1.90
--- guile/guile-core/libguile/symbols.c:1.89    Wed May 23 17:50:49 2001
+++ guile/guile-core/libguile/symbols.c Mon May 28 11:42:57 2001
@@ -247,8 +247,8 @@
       SCM_VALIDATE_STRING (1, prefix);
       len = SCM_STRING_LENGTH (prefix);
       if (len > MAX_PREFIX_LENGTH)
-       name = SCM_MUST_MALLOC (MAX_PREFIX_LENGTH + SCM_INTBUFLEN);
-      strncpy (name, SCM_STRING_CHARS (prefix), len);
+       name = SCM_MUST_MALLOC (len + SCM_INTBUFLEN);
+      memcpy (name, SCM_STRING_CHARS (prefix), len);
     }
   {
     int n_digits = scm_iint2str (gensym_counter++, 10, &name[len]);



reply via email to

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