Verify fread(), fwrite(), and system() return values
These were starting to trigger compiler warning with recent glibc header files and gcc.
This commit is contained in:
parent
dd20838a7d
commit
308a4ec81a
3 changed files with 18 additions and 5 deletions
|
@ -533,6 +533,8 @@ static void eap_fast_write(char **buf, char **pos, size_t *buf_len,
|
||||||
static int eap_fast_write_pac(struct eap_sm *sm, const char *pac_file,
|
static int eap_fast_write_pac(struct eap_sm *sm, const char *pac_file,
|
||||||
char *buf, size_t len)
|
char *buf, size_t len)
|
||||||
{
|
{
|
||||||
|
int ret = 0;
|
||||||
|
|
||||||
if (os_strncmp(pac_file, "blob://", 7) == 0) {
|
if (os_strncmp(pac_file, "blob://", 7) == 0) {
|
||||||
struct wpa_config_blob *blob;
|
struct wpa_config_blob *blob;
|
||||||
blob = os_zalloc(sizeof(*blob));
|
blob = os_zalloc(sizeof(*blob));
|
||||||
|
@ -555,12 +557,16 @@ static int eap_fast_write_pac(struct eap_sm *sm, const char *pac_file,
|
||||||
"file '%s' for writing", pac_file);
|
"file '%s' for writing", pac_file);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
fwrite(buf, 1, len, f);
|
if (fwrite(buf, 1, len, f) != len) {
|
||||||
|
wpa_printf(MSG_INFO, "EAP-FAST: Failed to write all "
|
||||||
|
"PACs into '%s'", pac_file);
|
||||||
|
ret = -1;
|
||||||
|
}
|
||||||
os_free(buf);
|
os_free(buf);
|
||||||
fclose(f);
|
fclose(f);
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -220,7 +220,12 @@ char * os_readfile(const char *name, size_t *len)
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
fread(buf, 1, *len, f);
|
if (fread(buf, 1, *len, f) != *len) {
|
||||||
|
fclose(f);
|
||||||
|
free(buf);
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
fclose(f);
|
fclose(f);
|
||||||
|
|
||||||
return buf;
|
return buf;
|
||||||
|
|
|
@ -1152,6 +1152,7 @@ static int wpa_cli_exec(const char *program, const char *arg1,
|
||||||
char *cmd;
|
char *cmd;
|
||||||
size_t len;
|
size_t len;
|
||||||
int res;
|
int res;
|
||||||
|
int ret = 0;
|
||||||
|
|
||||||
len = os_strlen(program) + os_strlen(arg1) + os_strlen(arg2) + 3;
|
len = os_strlen(program) + os_strlen(arg1) + os_strlen(arg2) + 3;
|
||||||
cmd = os_malloc(len);
|
cmd = os_malloc(len);
|
||||||
|
@ -1164,11 +1165,12 @@ static int wpa_cli_exec(const char *program, const char *arg1,
|
||||||
}
|
}
|
||||||
cmd[len - 1] = '\0';
|
cmd[len - 1] = '\0';
|
||||||
#ifndef _WIN32_WCE
|
#ifndef _WIN32_WCE
|
||||||
system(cmd);
|
if (system(cmd) < 0)
|
||||||
|
ret = -1;
|
||||||
#endif /* _WIN32_WCE */
|
#endif /* _WIN32_WCE */
|
||||||
os_free(cmd);
|
os_free(cmd);
|
||||||
|
|
||||||
return 0;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue