GNU bug report logs -
#70415
30.0.50; [Cygwin] `lock-file' creates a symlink with funny name
Previous Next
Reported by: Katsumi Yamaoka <yamaoka <at> jpl.org>
Date: Tue, 16 Apr 2024 12:34:04 UTC
Severity: normal
Found in version 30.0.50
Done: Ken Brown <kbrown <at> cornell.edu>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
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;
This bug report was last modified 1 year and 73 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.