mirror of
https://github.com/hashcat/hashcat.git
synced 2024-11-25 01:18:15 +00:00
Prevent Hashcat from hanging by checking during startup that the output file is a named pipe
This commit is contained in:
parent
98d721cf69
commit
17b2e9062b
@ -34,6 +34,7 @@
|
|||||||
##
|
##
|
||||||
|
|
||||||
- Fixed keys extraction in luks2hashcat - now extracts all active keys
|
- Fixed keys extraction in luks2hashcat - now extracts all active keys
|
||||||
|
- Prevent Hashcat from hanging by checking during startup that the output file is a named pipe
|
||||||
|
|
||||||
##
|
##
|
||||||
## Technical
|
## Technical
|
||||||
|
@ -55,6 +55,7 @@ void *hc_bsearch_r (const void *key, const void *base, size_t nmemb, size_t size
|
|||||||
|
|
||||||
bool hc_path_is_file (const char *path);
|
bool hc_path_is_file (const char *path);
|
||||||
bool hc_path_is_directory (const char *path);
|
bool hc_path_is_directory (const char *path);
|
||||||
|
bool hc_path_is_fifo (const char *path);
|
||||||
bool hc_path_is_empty (const char *path);
|
bool hc_path_is_empty (const char *path);
|
||||||
bool hc_path_exist (const char *path);
|
bool hc_path_exist (const char *path);
|
||||||
bool hc_path_read (const char *path);
|
bool hc_path_read (const char *path);
|
||||||
|
13
src/shared.c
13
src/shared.c
@ -340,6 +340,19 @@ bool hc_path_is_directory (const char *path)
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool hc_path_is_fifo (const char *path)
|
||||||
|
{
|
||||||
|
struct stat s;
|
||||||
|
|
||||||
|
memset (&s, 0, sizeof (s));
|
||||||
|
|
||||||
|
if (stat (path, &s) == -1) return false;
|
||||||
|
|
||||||
|
if (S_ISFIFO (s.st_mode) == true) return true;
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
bool hc_path_is_empty (const char *path)
|
bool hc_path_is_empty (const char *path)
|
||||||
{
|
{
|
||||||
struct stat s;
|
struct stat s;
|
||||||
|
@ -2731,6 +2731,13 @@ int user_options_check_files (hashcat_ctx_t *hashcat_ctx)
|
|||||||
{
|
{
|
||||||
if (hc_path_exist (outfile_ctx->filename) == true)
|
if (hc_path_exist (outfile_ctx->filename) == true)
|
||||||
{
|
{
|
||||||
|
if (hc_path_is_fifo (outfile_ctx->filename) == true)
|
||||||
|
{
|
||||||
|
event_log_error (hashcat_ctx, "%s: A fifo cannot be used as an outfile.", outfile_ctx->filename);
|
||||||
|
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
if (hc_path_is_directory (outfile_ctx->filename) == true)
|
if (hc_path_is_directory (outfile_ctx->filename) == true)
|
||||||
{
|
{
|
||||||
event_log_error (hashcat_ctx, "%s: A directory cannot be used as an outfile.", outfile_ctx->filename);
|
event_log_error (hashcat_ctx, "%s: A directory cannot be used as an outfile.", outfile_ctx->filename);
|
||||||
|
Loading…
Reference in New Issue
Block a user