itlib9: avoid unportable use of d_namlen in dirread - plan9port - [fork] Plan 9 from user space Err mx1.adamsgaard.dk 70 hgit clone git://src.adamsgaard.dk/plan9port URL:git://src.adamsgaard.dk/plan9port mx1.adamsgaard.dk 70 1Log /src/plan9port/log.gph mx1.adamsgaard.dk 70 1Files /src/plan9port/files.gph mx1.adamsgaard.dk 70 1Refs /src/plan9port/refs.gph mx1.adamsgaard.dk 70 1README /src/plan9port/file/README.md.gph mx1.adamsgaard.dk 70 1LICENSE /src/plan9port/file/LICENSE.gph mx1.adamsgaard.dk 70 i--- Err mx1.adamsgaard.dk 70 1commit c53ad837a734f7570badcb3666ccb3604e7e6467 /src/plan9port/commit/c53ad837a734f7570badcb3666ccb3604e7e6467.gph mx1.adamsgaard.dk 70 1parent 587933c16132d880a06ff99bd087e64a3a04975e /src/plan9port/commit/587933c16132d880a06ff99bd087e64a3a04975e.gph mx1.adamsgaard.dk 70 hAuthor: Russ Cox URL:mailto:rsc@swtch.com mx1.adamsgaard.dk 70 iDate: Mon, 18 May 2020 17:03:42 -0400 Err mx1.adamsgaard.dk 70 i Err mx1.adamsgaard.dk 70 ilib9: avoid unportable use of d_namlen in dirread Err mx1.adamsgaard.dk 70 i Err mx1.adamsgaard.dk 70 iFixes #395. Err mx1.adamsgaard.dk 70 i Err mx1.adamsgaard.dk 70 iDiffstat: Err mx1.adamsgaard.dk 70 i M src/lib9/open.c | 3 +-- Err mx1.adamsgaard.dk 70 i Err mx1.adamsgaard.dk 70 i1 file changed, 1 insertion(+), 2 deletions(-) Err mx1.adamsgaard.dk 70 i--- Err mx1.adamsgaard.dk 70 1diff --git a/src/lib9/open.c b/src/lib9/open.c /src/plan9port/file/src/lib9/open.c.gph mx1.adamsgaard.dk 70 it@@ -318,8 +318,7 @@ dirreadmax(int fd, Dir **dp, int max) Err mx1.adamsgaard.dk 70 i return -1; Err mx1.adamsgaard.dk 70 i break; Err mx1.adamsgaard.dk 70 i } Err mx1.adamsgaard.dk 70 i- if(de->d_name[de->d_namlen] != 0) Err mx1.adamsgaard.dk 70 i- sysfatal("bad readdir"); Err mx1.adamsgaard.dk 70 i+ // Note: not all systems have d_namlen. Assume NUL-terminated. Err mx1.adamsgaard.dk 70 i if(de->d_name[0]=='.' && de->d_name[1]==0) Err mx1.adamsgaard.dk 70 i continue; Err mx1.adamsgaard.dk 70 i if(de->d_name[0]=='.' && de->d_name[1]=='.' && de->d_name[2]==0) Err mx1.adamsgaard.dk 70 .