diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2012-12-02 11:38:49 +0100 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2012-12-03 11:23:25 +0100 |
commit | 5e742637623af0b1ea365b4c8ffda566a0ee3a2b (patch) | |
tree | 2e318879a6d386e5cd29639932f9498f6ac6c8b8 /include | |
parent | 3207dc4608dd1afa46fcdcc0b9eb7c3a3fe22882 (diff) | |
download | barebox-5e742637623af0b1ea365b4c8ffda566a0ee3a2b.tar.gz barebox-5e742637623af0b1ea365b4c8ffda566a0ee3a2b.tar.xz |
filetype: Pass bufsize
Pass the buffer size to the file detection code. This makes sure we do not
read past the buffer. This is especially useful for ext filesystem detection
as the magic is at byte offset 1080. Also introduce a FILE_TYPE_SAFE_BUFSIZE
define which is set to the minimum bufsize the detection code needs to detect
all known filetypes.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'include')
-rw-r--r-- | include/filetype.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/include/filetype.h b/include/filetype.h index 0a722a0a54..5fac53153d 100644 --- a/include/filetype.h +++ b/include/filetype.h @@ -25,9 +25,11 @@ enum filetype { filetype_max, }; +#define FILE_TYPE_SAFE_BUFSIZE 2048 + const char *file_type_to_string(enum filetype f); const char *file_type_to_short_string(enum filetype f); -enum filetype file_detect_type(void *_buf); +enum filetype file_detect_type(void *_buf, size_t bufsize); enum filetype file_name_detect_type(const char *filename); enum filetype is_fat_or_mbr(const unsigned char *sector, unsigned long *bootsec); |