Added memory cleanup in case of bad arguments

This commit is contained in:
wiire 2015-12-30 21:50:08 +01:00
parent 63450d6b2d
commit 64cec59d04

View File

@ -175,6 +175,10 @@ memory_err:
break;
case 'V':
{
if (c > 1) { /* If --version is used then no other argument should be supplied */
snprintf(wps->error, 256, "\n [!] Bad use of argument --version (-V)!\n\n");
goto usage_err;
} else {
struct timeval t_current;
gettimeofday(&t_current, 0);
time_t r_time;
@ -188,6 +192,7 @@ memory_err:
free(wps);
return ARG_ERROR;
}
}
case 'h':
goto usage_err;
break;
@ -250,6 +255,16 @@ memory_err:
if (!c) {
usage_err:
fprintf(stderr, usage, SHORT_VERSION, argv[0], wps->error);
free(wps->pke);
free(wps->pkr);
free(wps->e_hash1);
free(wps->e_hash2);
free(wps->authkey);
free(wps->e_nonce);
free(wps->r_nonce);
free(wps->e_bssid);
free(wps->error);
free(wps);
return ARG_ERROR;