[PATCH v2] fixdep: add fstat error handling
Sam James
sam at gentoo.org
Wed May 1 00:25:19 UTC 2024
David Leonard <d+busybox at adaptive-enterprises.com> writes:
> On Tue, 23 Apr 2024, Sam James wrote:
>
>> }
>> - fstat(fd, &st);
>> + if (fstat(fd, &st) < 0) {
>> + fprintf(stderr, "fixdep: fstat");
>> + perror(filename);
>> + exit(2);
>> + }
>> if (st.st_size == 0) {
>> close(fd);
>> return;
>> @@ -368,7 +372,11 @@ void print_deps(void)
>> perror(depfile);
>> exit(2);
>> }
>> - fstat(fd, &st);
>> + if (fstat(fd, &st) < 0) {
>> + fprintf(stderr, "fixdep: fstat");
>> + perror(depfile);
>> + exit(2);
>> + }
>> if (st.st_size == 0) {
>> fprintf(stderr,"fixdep: %s is empty\n",depfile);
>> close(fd);
>
> I worry that the fprintf() may destroy the errno which perror() uses,
> so you could get a random error message.
> Perhaps remove the fprintf(s) completely? Because the context should be
> clear enough from the filename alone that perror displays.
Ah, a great point. Any preference between just stripping the fprintfs vs
a better argument to perror, as we do in some places (but not very
consistently)?
I don't think I have a strong preference.
>
> David
thanks,
sam
More information about the busybox
mailing list