WPS UFD: Handle scandir() error and no matches results differently

Better make sure there are no memory leaks in case of 0 entries
found. In addition, the error string may be of use in the error case.
This commit is contained in:
Jouni Malinen 2009-02-26 22:06:11 +02:00
parent e7f3c1f436
commit 1b39bad109

View file

@ -61,8 +61,14 @@ static int wps_get_dev_pwd_e_file_name(char *path, char *file_name)
file_num = scandir(path, &namelist, &dev_pwd_e_file_filter,
alphasort);
if (file_num <= 0) {
if (file_num < 0) {
wpa_printf(MSG_ERROR, "WPS: OOB file not found: %d (%s)",
errno, strerror(errno));
return -1;
}
if (file_num == 0) {
wpa_printf(MSG_ERROR, "WPS: OOB file not found");
os_free(namelist);
return -1;
}
os_strlcpy(file_name, namelist[0]->d_name, 13);