Re: Emacs Interlocking mechanism
中治@鳥取です。
>>>>> In <YAS.07May8184743@kirk.is.tsukuba.ac.jp>
>>>>> yas@is.tsukuba.ac.jp (Yasushi Shinjo) wrote:
> > lock_file_1() に、
> > if (boot_time)
> > sprintf (lock_info_str, "%s@%s.%lu:%lu", user_name, host_name,
> > (unsigned long) getpid (), (unsigned long) boot_time);
> > else
> > sprintf (lock_info_str, "%s@%s.%lu", user_name, host_name,
> > (unsigned long) getpid ());
> > err = symlink (lock_info_str, lfname);
> > なんてのがあるので、そうかなと思いました。
> C言語の所でしたか。Emacs Lisp は、探したんだけれど。
> lname の場所が同じディレクトリね。
> 関係ないですが、sprintf() 危なそう。
この前に、
lock_info_str = (char *)alloca (strlen (user_name) + strlen (host_name)
+ LOCK_PID_MAX + 30);
で lock_info_str の領域を確保しているので、長さを超える文字列を突っ込
まれてどうこうという心配はないんではないかと思いたいです。
## 「危なそう」のココロをよくわかっていませんが。
--
NAKAJI Hiroyuki (中治 弘行)
Fnews-brouse 1.9(20180406) -- by Mizuno, MWE <mwe@ccsf.jp>
GnuPG Key ID = ECC8A735
GnuPG Key fingerprint = 9BE6 B9E9 55A5 A499 CD51 946E 9BDC 7870 ECC8 A735