lkml.org 
[lkml]   [2018]   [Jan]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Date
SubjectRe: [PATCH v2] fixdep: exit with error code in error branches of do_config_file()

On Sun, 31 Dec 2017, Masahiro Yamada wrote:

> 2017-12-22 4:10 GMT+09:00 Lukas Bulwahn <lukas.bulwahn@gmail.com>:
>> diff --git a/scripts/basic/fixdep.c b/scripts/basic/fixdep.c
>> index bbf62cb..4274610 100644
>> --- a/scripts/basic/fixdep.c
>> +++ b/scripts/basic/fixdep.c
>> @@ -284,19 +284,18 @@ static void do_config_file(const char *filename)
>> exit(2);
>> }
>> if (st.st_size == 0) {
>> - close(fd);
>> - return;
>> + fprintf(stderr, "fixdep: error empty file config file: ");
>> + perror(filename);
>> + exit(2);
>> }
>
> No. This is correct as-is.
>
> do_config_file() does not parse .cmd files
> but parse source files (.c .h .S etc.)
>
> Having an empty source file is rare, but possible.
>
>

Now that I looked at the code for creating the v3 patch, I am confused
about the error messages in scripts/basic/fixdep.c, lines 275 - 285, in
do_config_file():

fd = open(filename, O_RDONLY);
if (fd < 0) {
fprintf(stderr, "fixdep: error opening config file: ");
perror(filename);
exit(2);
}
if (fstat(fd, &st) < 0) {
fprintf(stderr, "fixdep: error fstat'ing config file: ");
perror(filename);
exit(2);
}

These error messages suggest that filename (and the file handler fd)
refers to a config file, but you say that filename and fd refer to source
files.

Looking at parse_dep_file() and how it invokes do_config_file(), I think
you are right that it does refer to source files.

If you confirm that this is correct, I would change `config file` to
`source file` in the error messages of do_config_file().

What is best to do here, provide a separate patch or add it to the
existing patch?

Lukas

\
 
 \ /
  Last update: 2018-01-14 23:17    [W:1.698 / U:0.096 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site