From 7c293700db4d1b14ba55bc221af9afc0ed233f01 Mon Sep 17 00:00:00 2001 From: Andrey Smirnov Date: Wed, 6 Mar 2019 23:49:11 -0800 Subject: common: Always return enum filetype in file_name_detect_type_offset() None of the callers of file_name_detect_type_offset() are prepared to deal with negative error code. Change the code to return filetype_unknown if open_and_lseek() fails. Signed-off-by: Andrey Smirnov Signed-off-by: Sascha Hauer --- common/filetype.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'common/filetype.c') diff --git a/common/filetype.c b/common/filetype.c index f8b6bc8954..fb029a7739 100644 --- a/common/filetype.c +++ b/common/filetype.c @@ -383,7 +383,7 @@ enum filetype file_name_detect_type_offset(const char *filename, loff_t pos) fd = open_and_lseek(filename, O_RDONLY, pos); if (fd < 0) - return fd; + goto out; buf = xzalloc(FILE_TYPE_SAFE_BUFSIZE); @@ -396,7 +396,7 @@ enum filetype file_name_detect_type_offset(const char *filename, loff_t pos) err_out: close(fd); free(buf); - +out: return type; } -- cgit v1.2.3