int read_full_stream_full(
FILE *f,
+ const char *filename,
ReadFullFileFlags flags,
char **ret_contents,
size_t *ret_size) {
* already makes us notice the EOF. */
if (st.st_size > 0)
n_next = st.st_size + 1;
+
+ if (flags & READ_FULL_FILE_SECURE)
+ (void) warn_file_is_world_accessible(filename, &st, NULL, 0);
}
}
(void) __fsetlocking(f, FSETLOCKING_BYCALLER);
- return read_full_stream_full(f, flags, contents, size);
+ return read_full_stream_full(f, filename, flags, contents, size);
}
int executable_is_script(const char *path, char **interpreter) {
static inline int read_full_file(const char *filename, char **contents, size_t *size) {
return read_full_file_full(filename, 0, contents, size);
}
-int read_full_stream_full(FILE *f, ReadFullFileFlags flags, char **contents, size_t *size);
+int read_full_stream_full(FILE *f, const char *filename, ReadFullFileFlags flags, char **contents, size_t *size);
static inline int read_full_stream(FILE *f, char **contents, size_t *size) {
- return read_full_stream_full(f, 0, contents, size);
+ return read_full_stream_full(f, NULL, 0, contents, size);
}
int verify_file(const char *fn, const char *blob, bool accept_extra_nl);