[LEDE-DEV] [PATCH uclient] Fix unused results warnings
Florian Fainelli
f.fainelli at gmail.com
Sun Dec 4 13:02:50 PST 2016
Le 12/04/16 à 07:14, John Crispin a écrit :
>
>
> On 03/12/2016 18:58, Florian Fainelli wrote:
>> Fixes:
>>
>> uclient-http.c:385:8: error: ignoring return value of 'fread', declared with attribute warn_unused_result [-Werror=unused-result]
>> fread(&val, sizeof(val), 1, f);
>> ^
>>
>> uclient-fetch.c: In function 'main':
>> uclient-fetch.c:664:12: error: ignoring return value of 'asprintf', declared with attribute warn_unused_result [-Werror=unused-result]
>> asprintf(&auth_str, "%s:%s", username, password);
>> ^
>> uclient-fetch.c: In function 'read_data_cb':
>> uclient-fetch.c:269:9: error: ignoring return value of 'write', declared with attribute warn_unused_result [-Werror=unused-result]
>> write(output_fd, buf, len);
>>
>> Signed-off-by: Florian Fainelli <f.fainelli at gmail.com>
>> ---
>> uclient-fetch.c | 16 +++++++++++-----
>> uclient-http.c | 5 ++++-
>> 2 files changed, 15 insertions(+), 6 deletions(-)
>>
>> diff --git a/uclient-fetch.c b/uclient-fetch.c
>> index 4c603fbc1945..db13e81bf8d0 100644
>> --- a/uclient-fetch.c
>> +++ b/uclient-fetch.c
>> @@ -254,6 +254,7 @@ static void header_done_cb(struct uclient *cl)
>> static void read_data_cb(struct uclient *cl)
>> {
>> char buf[256];
>> + size_t n;
>> int len;
>>
>> if (!no_output && output_fd < 0)
>> @@ -265,8 +266,11 @@ static void read_data_cb(struct uclient *cl)
>> return;
>>
>> out_bytes += len;
>> - if (!no_output)
>> - write(output_fd, buf, len);
>> + if (!no_output) {
>> + n = write(output_fd, buf, len);
>> + if (n < len)
>> + return;
>> + }
>> }
>> }
>>
>> @@ -660,9 +664,11 @@ int main(int argc, char **argv)
>> uloop_init();
>>
>> if (username) {
>> - if (password)
>> - asprintf(&auth_str, "%s:%s", username, password);
>> - else
>> + if (password) {
>> + rc = asprintf(&auth_str, "%s:%s", username, password);
>> + if (rc < 0)
>> + return rc;
>> + } else
>> auth_str = username;
>> }
>>
>> diff --git a/uclient-http.c b/uclient-http.c
>> index 8d26bd4884be..80f40d0e40e3 100644
>> --- a/uclient-http.c
>> +++ b/uclient-http.c
>> @@ -379,11 +379,14 @@ get_cnonce(char *dest)
>> {
>> uint32_t val = 0;
>> FILE *f;
>> + size_t n;
>>
>> f = fopen("/dev/urandom", "r");
>> if (f) {
>> - fread(&val, sizeof(val), 1, f);
>> + n = fread(&val, sizeof(val), 1, f);
>> fclose(f);
>> + if (n != sizeof(val))
>> + return;
>> }
>
> from the man page "On success, fread() and fwrite() return the number of
> items read or written. This number equals the number of bytes
> transferred only when size is 1. If an error occurs, or the end of the
> file is reached, the return value is a short item count (or zero)."
> so the check should be (n != 1) i think.
Humm yes good point, thanks!
--
Florian
More information about the Lede-dev
mailing list