Fix build errors

This commit is contained in:
topjohnwu 2022-08-07 05:03:18 -07:00
parent aeb7fd7cb3
commit 7357a35f8d
2 changed files with 6 additions and 1 deletions

View File

@ -26,6 +26,11 @@ static inline void __check_buffer_access(const char* fn, const char* action,
__fortify_fatal("%s: prevented %zu-byte %s %zu-byte buffer", fn, claim, action, actual);
}
}
void* __memcpy_chk(void* dst, const void* src, size_t count, size_t dst_len) {
__check_count("memcpy", "count", count);
__check_buffer_access("memcpy", "write into", count, dst_len);
return __call_bypassing_fortify(memcpy)(dst, src, count);
}
char* __strcpy_chk(char* dst, const char* src, size_t dst_len) {
// TODO: optimize so we don't scan src twice.
size_t src_len = __builtin_strlen(src) + 1;

View File

@ -440,7 +440,7 @@ void restore_folder(const char *dir, vector<raw_file> &files) {
for (raw_file &file : files) {
string path = base + "/" + file.path;
if (S_ISDIR(file.attr.st.st_mode)) {
mkdirs(path, 0);
mkdirs(path.data(), 0);
} else if (S_ISREG(file.attr.st.st_mode)) {
if (auto fp = xopen_file(path.data(), "we"))
fwrite(file.content.data(), 1, file.content.size(), fp.get());