Fix dirent64::namelen calculation (#1538)
Some checks failed
CodeQL / Analyze (push) Has been cancelled
mkdocs / deploy (push) Has been cancelled

Worked fine on my machine where padding seemed to be all zeroed out
but that doesn't appear to be the case elsewhere.

Could try
https://codeberg.org/jbruchon/libjodycode/src/branch/master/dir.c#L92-L110
but needs to be tested.
This commit is contained in:
trapexit 2025-09-30 12:25:19 -04:00 • committed by GitHub
parent e6fcebe4f3
commit 25b0bc72df
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -2,6 +2,7 @@
#include <cstddef>
#include <cstdint>
#include <cstring>
namespace fs
{
@ -15,9 +16,10 @@ namespace fs
char name[];
public:
int namelen() const
size_t
namelen() const
{
return (reclen - offsetof(dirent64,name));
return ::strlen(name);
}
};
}