emacs-bug-tracker
[Top][All Lists]
Advanced

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

[Emacs-bug-tracker] bug#1009: closed (Carbon: posix-file-name-to-mac)


From: GNU bug Tracking System
Subject: [Emacs-bug-tracker] bug#1009: closed (Carbon: posix-file-name-to-mac)
Date: Thu, 10 Mar 2011 06:48:01 +0000

Your message dated Thu, 10 Mar 2011 01:47:15 -0500
with message-id <address@hidden>
and subject line Re: bug#1009: Carbon: posix-file-name-to-mac
has caused the GNU bug report #1009,
regarding Carbon: posix-file-name-to-mac
to be marked as done.

(If you believe you have received this mail in error, please contact
address@hidden)


-- 
1009: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=1009
GNU Bug Tracking System
Contact address@hidden with problems
--- Begin Message --- Subject: Carbon: posix-file-name-to-mac Date: Sat, 20 Sep 2008 08:33:22 -0400
(posix-file-name-to-mac "~emacs/asd")
(posix-file-name-to-mac "/tmp/")

will crash a 22 branch Carbon Emacs.

A fix is below - it disables ~emacs and /tmp expansion when getpwnam or get_temp_dir_name return NULL, which they seem to do. (OS X has /tmp, so I'm not sure if the code isn't leftover from MacOS and stopped working at some point.)

- D





Index: mac.c
===================================================================
RCS file: /sources/emacs/emacs/src/Attic/mac.c,v
retrieving revision 1.77.2.10
diff -c -r1.77.2.10 mac.c
*** mac.c       29 Aug 2008 08:18:07 -0000      1.77.2.10
--- mac.c       20 Sep 2008 12:29:24 -0000
***************
*** 214,237 ****
    if (strncmp (p, "~emacs/", 7) == 0)
      {
        struct passwd *pw = getpwnam ("emacs");
!       p += 7;
!       if (strlen (pw->pw_dir) + strlen (p) > MAXPATHLEN)
!       return 0;
!       strcpy (expanded_pathname, pw->pw_dir);
!       strcat (expanded_pathname, p);
!       p = expanded_pathname;
!         /* now p points to the pathname with emacs dir prefix */
      }
    else if (strncmp (p, "/tmp/", 5) == 0)
      {
        char *t = get_temp_dir_name ();
!       p += 5;
!       if (strlen (t) + strlen (p) > MAXPATHLEN)
!       return 0;
!       strcpy (expanded_pathname, t);
!       strcat (expanded_pathname, p);
!       p = expanded_pathname;
!         /* now p points to the pathname with emacs dir prefix */
      }
    else if (*p != '/')  /* relative pathname */
      strcat (mfn, ":");
--- 215,244 ----
    if (strncmp (p, "~emacs/", 7) == 0)
      {
        struct passwd *pw = getpwnam ("emacs");
!       if (pw != NULL)
!       {
!         p += 7;
!         if (strlen (pw->pw_dir) + strlen (p) > MAXPATHLEN)
!           return 0;
!         strcpy (expanded_pathname, pw->pw_dir);
!         strcat (expanded_pathname, p);
!         p = expanded_pathname;
!         /* now p points to the pathname with emacs dir prefix */
!       }
      }
    else if (strncmp (p, "/tmp/", 5) == 0)
      {
        char *t = get_temp_dir_name ();
!       if (t != NULL)
!       {
!         p += 5;
!         if (strlen (t) + strlen (p) > MAXPATHLEN)
!           return 0;
!         strcpy (expanded_pathname, t);
!         strcat (expanded_pathname, p);
!         p = expanded_pathname;
!         /* now p points to the pathname with emacs dir prefix */
!       }
      }
    else if (*p != '/')  /* relative pathname */
      strcat (mfn, ":");

Attachment: smime.p7s
Description: S/MIME cryptographic signature


--- End Message ---
--- Begin Message --- Subject: Re: bug#1009: Carbon: posix-file-name-to-mac Date: Thu, 10 Mar 2011 01:47:15 -0500 User-agent: Gnus (www.gnus.org), GNU Emacs (www.gnu.org/software/emacs/)
Thanks for the report. Emacs 22 is very old and has not been supported
for some time. The latest version is 23.3. Please open new reports for
any issues you have with the new version.


--- End Message ---

reply via email to

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