[mew-dist 25891] Re: Mew 4.1.53

Kazu Yamamoto ( 山本和彦 ) kazu at example.com
2005年 1月 7日 (金) 17:01:55 JST


> new_inbox_file(int seq, char inboxfile[PATH_MAX])
> とするか,明示的に PATH_MAX 相当を使うのかな.

これでいけますか?

ポインターと配列は似て非なるものです。だから、ここの sprintf() は残して
おいたというのに。> momo ちゃん

--かず

Index: incm.c
===================================================================
RCS file: /cvsmew/mew/bin/incm.c,v
retrieving revision 1.26
diff -u -r1.26 incm.c
--- incm.c	7 Jan 2005 04:34:36 -0000	1.26
+++ incm.c	7 Jan 2005 06:56:52 -0000
@@ -499,7 +499,7 @@
 		snprintf(num, sizeof(num), "%d", ++seq);
 		if (strlen(InboxDir) + strlen(num) + 2 > PATH_MAX)
 			error("pathname too long (%s/%s)", InboxDir, num);
-		snprintf(inboxfile, sizeof(inboxfile), "%s/%s", InboxDir, num);
+		snprintf(inboxfile, PATH_MAX, "%s/%s", InboxDir, num);
 		if (access(inboxfile, F_OK) && errno == ENOENT)
 			break;
 	} while (TRUE);
@@ -519,7 +519,7 @@
 		snprintf(num, sizeof(num), "%d", ++*seq);
 		if (strlen(InboxDir) + strlen(num) + 2 > PATH_MAX)
 			error("pathname too long (%s/%s)", InboxDir, num);
-		snprintf(inboxfile, sizeof(inboxfile), "%s/%s", InboxDir, num);
+		snprintf(inboxfile, PATH_MAX, "%s/%s", InboxDir, num);
 		if ((fd = open(inboxfile, flag, FileMode)) >= 0 ||
 		    errno != EEXIST)
 			break;




Mew-dist メーリングリストの案内