WPS UFD: Use mkdir() instead of system("mkdir ..")

This commit is contained in:
Jouni Malinen 2009-02-26 22:00:29 +02:00
parent 46bdb83acd
commit a79e73a1b1

View file

@ -94,6 +94,17 @@ static int get_file_name(struct wps_context *wps, int registrar,
} }
static int ufd_mkdir(const char *path)
{
if (mkdir(path, S_IRWXU) < 0 && errno != EEXIST) {
wpa_printf(MSG_ERROR, "WPS (UFD): Failed to create directory "
"'%s': %d (%s)", path, errno, strerror(errno));
return -1;
}
return 0;
}
static int init_ufd(struct wps_context *wps, int registrar) static int init_ufd(struct wps_context *wps, int registrar)
{ {
int write_f; int write_f;
@ -110,13 +121,12 @@ static int init_ufd(struct wps_context *wps, int registrar)
} }
if (write_f) { if (write_f) {
os_snprintf(temp, sizeof(temp), os_snprintf(temp, sizeof(temp), "%s/SMRTNTKY", path);
"mkdir -p %s/SMRTNTKY/WFAWSC", path); if (ufd_mkdir(temp))
if (system(temp) != 0) { return -1;
wpa_printf(MSG_ERROR, "WPS (UFD): Failed " os_snprintf(temp, sizeof(temp), "%s/SMRTNTKY/WFAWSC", path);
"to mkdir"); if (ufd_mkdir(temp))
return -1; return -1;
}
} }
os_snprintf(temp, sizeof(temp), "%s/SMRTNTKY/WFAWSC/%s", path, os_snprintf(temp, sizeof(temp), "%s/SMRTNTKY/WFAWSC/%s", path,