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

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

bug#70415: 30.0.50; [Cygwin] `lock-file' creates a symlink with funny na


From: Ken Brown
Subject: bug#70415: 30.0.50; [Cygwin] `lock-file' creates a symlink with funny name
Date: Sun, 5 May 2024 12:21:03 -0400
User-agent: Mozilla Thunderbird

On 5/5/2024 1:40 AM, Eli Zaretskii wrote:
Right.  Does the below look like the right change to support such
weird cases?

diff --git a/src/filelock.c b/src/filelock.c
index 01d35c4..86c6eeb 100644
--- a/src/filelock.c
+++ b/src/filelock.c
@@ -419,7 +419,9 @@ current_lock_owner (lock_info_type *owner, Lisp_Object 
lfname)
        boot += 2;
        FALLTHROUGH;
      case ':':
-      if (! c_isdigit (boot[0]))
+      if (! c_isdigit (boot[0])
+         /* A negative number.  */
+         || (boot[0] == '-' && c_isdigit (boot[1])))
        return EINVAL;
        boot_time = strtoimax (boot, &lfinfo_end, 10);
        break;

Not quite.  I think it should be

diff --git a/src/filelock.c b/src/filelock.c
index 01d35c46726a..faa85a56628b 100644
--- a/src/filelock.c
+++ b/src/filelock.c
@@ -419,7 +419,9 @@ current_lock_owner (lock_info_type *owner, Lisp_Object lfname)
       boot += 2;
       FALLTHROUGH;
     case ':':
-      if (! c_isdigit (boot[0]))
+      if (! (c_isdigit (boot[0])
+             /* A negative number.  */
+             || (boot[0] == '-' && c_isdigit (boot[1]))))
        return EINVAL;
       boot_time = strtoimax (boot, &lfinfo_end, 10);
       break;





reply via email to

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