fixes #1708: reject invalid masks with only a single ? at the end

This commit is contained in:
philsmd
2018-10-16 15:59:20 +02:00
parent da3a15e345
commit b1465693a3
3 changed files with 24 additions and 5 deletions
+8
View File
@@ -205,6 +205,14 @@ static void main_outerloop_finished (MAYBE_UNUSED hashcat_ctx_t *hashcat_ctx, MA
hashcat_user_t *hashcat_user = hashcat_ctx->hashcat_user;
status_ctx_t *status_ctx = hashcat_ctx->status_ctx;
// we should never stop hashcat with STATUS_INIT:
// keypress thread blocks on STATUS_INIT forever!
if (status_ctx->devices_status == STATUS_INIT)
{
status_ctx->devices_status = STATUS_ERROR;
}
// wait for outer threads
status_ctx->shutdown_outer = true;
+14 -4
View File
@@ -268,7 +268,12 @@ static int mp_expand (hashcat_ctx_t *hashcat_ctx, const char *in_buf, size_t in_
{
in_pos++;
if (in_pos == in_len) break;
if (in_pos == in_len)
{
event_log_error (hashcat_ctx, "Syntax error in mask: %s", in_buf);
return -1;
}
u32 p1 = in_buf[in_pos] & 0xff;
@@ -306,7 +311,7 @@ static int mp_expand (hashcat_ctx_t *hashcat_ctx, const char *in_buf, size_t in_
break;
case '?': rc = mp_add_cs_buf (hashcat_ctx, &p0, 1, mp_usr, mp_usr_offset);
break;
default: event_log_error (hashcat_ctx, "Syntax error: %s", in_buf);
default: event_log_error (hashcat_ctx, "Syntax error in mask: %s", in_buf);
return -1;
}
@@ -372,7 +377,12 @@ static int mp_gen_css (hashcat_ctx_t *hashcat_ctx, char *mask_buf, size_t mask_l
{
mask_pos++;
if (mask_pos == mask_len) break;
if (mask_pos == mask_len)
{
event_log_error (hashcat_ctx, "Syntax error in mask: %s", mask_buf);
return -1;
}
char p1 = mask_buf[mask_pos];
@@ -412,7 +422,7 @@ static int mp_gen_css (hashcat_ctx_t *hashcat_ctx, char *mask_buf, size_t mask_l
break;
case '?': rc = mp_add_cs_buf (hashcat_ctx, &chr, 1, css_buf, css_pos);
break;
default: event_log_error (hashcat_ctx, "Syntax error: %s", mask_buf);
default: event_log_error (hashcat_ctx, "Syntax error in mask: %s", mask_buf);
return -1;
}