mirror of
https://github.com/hashcat/hashcat.git
synced 2024-11-26 01:50:10 +00:00
Add wrapping function for asprintf()
This commit is contained in:
parent
72af615e8b
commit
6ece83760d
@ -6,6 +6,7 @@
|
||||
#ifndef _SHARED_H
|
||||
#define _SHARED_H
|
||||
|
||||
#include <stdarg.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <unistd.h>
|
||||
@ -24,6 +25,8 @@ char *filename_from_filepath (char *filepath);
|
||||
void naive_replace (char *s, const char key_char, const char replace_char);
|
||||
void naive_escape (char *s, size_t s_max, const char key_char, const char escape_char);
|
||||
|
||||
void hc_asprintf (char **strp, const char *fmt, ...);
|
||||
|
||||
void hc_sleep_msec (const u32 msec);
|
||||
void hc_sleep (const u32 sec);
|
||||
|
||||
|
@ -9,6 +9,7 @@
|
||||
#include "event.h"
|
||||
#include "dictstat.h"
|
||||
#include "locking.h"
|
||||
#include "shared.h"
|
||||
|
||||
int sort_by_dictstat (const void *s1, const void *s2)
|
||||
{
|
||||
@ -46,7 +47,7 @@ int dictstat_init (hashcat_ctx_t *hashcat_ctx)
|
||||
dictstat_ctx->base = (dictstat_t *) hccalloc (MAX_DICTSTAT, sizeof (dictstat_t));
|
||||
dictstat_ctx->cnt = 0;
|
||||
|
||||
asprintf (&dictstat_ctx->filename, "%s/hashcat.dictstat", folder_config->profile_dir);
|
||||
hc_asprintf (&dictstat_ctx->filename, "%s/hashcat.dictstat", folder_config->profile_dir);
|
||||
|
||||
FILE *fp = fopen (dictstat_ctx->filename, "ab");
|
||||
|
||||
|
12
src/folder.c
12
src/folder.c
@ -28,7 +28,7 @@ static int get_exec_path (char *exec_path, const size_t exec_path_sz)
|
||||
|
||||
char *tmp;
|
||||
|
||||
asprintf (&tmp, "/proc/%d/exe", getpid ());
|
||||
hc_asprintf (&tmp, "/proc/%d/exe", getpid ());
|
||||
|
||||
const ssize_t len = readlink (tmp, exec_path, exec_path_sz - 1);
|
||||
|
||||
@ -221,7 +221,7 @@ char **scan_directory (const char *path)
|
||||
|
||||
char *path_file;
|
||||
|
||||
asprintf (&path_file, "%s/%s", tmp_path, de->d_name);
|
||||
hc_asprintf (&path_file, "%s/%s", tmp_path, de->d_name);
|
||||
|
||||
DIR *d_test;
|
||||
|
||||
@ -393,7 +393,7 @@ int folder_config_init (hashcat_ctx_t *hashcat_ctx, MAYBE_UNUSED const char *ins
|
||||
|
||||
#if defined (_WIN)
|
||||
|
||||
asprintf (&cpath, "%s\\OpenCL\\", shared_dir);
|
||||
hc_asprintf (&cpath, "%s\\OpenCL\\", shared_dir);
|
||||
|
||||
char *cpath_real = (char *) hcmalloc (HCBUFSIZ_TINY);
|
||||
|
||||
@ -406,7 +406,7 @@ int folder_config_init (hashcat_ctx_t *hashcat_ctx, MAYBE_UNUSED const char *ins
|
||||
|
||||
#else
|
||||
|
||||
asprintf (&cpath, "%s/OpenCL/", shared_dir);
|
||||
hc_asprintf (&cpath, "%s/OpenCL/", shared_dir);
|
||||
|
||||
char *cpath_real = (char *) hcmalloc (PATH_MAX);
|
||||
|
||||
@ -426,7 +426,7 @@ int folder_config_init (hashcat_ctx_t *hashcat_ctx, MAYBE_UNUSED const char *ins
|
||||
{
|
||||
char *tmp;
|
||||
|
||||
asprintf (&tmp, "TMP=%s", cpath_real);
|
||||
hc_asprintf (&tmp, "TMP=%s", cpath_real);
|
||||
|
||||
putenv (tmp);
|
||||
}
|
||||
@ -450,7 +450,7 @@ int folder_config_init (hashcat_ctx_t *hashcat_ctx, MAYBE_UNUSED const char *ins
|
||||
|
||||
char *kernels_folder;
|
||||
|
||||
asprintf (&kernels_folder, "%s/kernels", profile_dir);
|
||||
hc_asprintf (&kernels_folder, "%s/kernels", profile_dir);
|
||||
|
||||
hc_mkdir (kernels_folder, 0700);
|
||||
|
||||
|
@ -57,7 +57,7 @@ static char *hm_SYSFS_get_syspath_device (hashcat_ctx_t *hashcat_ctx, const int
|
||||
|
||||
char *syspath;
|
||||
|
||||
asprintf (&syspath, "%s/0000:%02x:%02x.%01x", SYS_BUS_PCI_DEVICES, device_param->pcie_bus, device_param->pcie_device, device_param->pcie_function);
|
||||
hc_asprintf (&syspath, "%s/0000:%02x:%02x.%01x", SYS_BUS_PCI_DEVICES, device_param->pcie_bus, device_param->pcie_device, device_param->pcie_function);
|
||||
|
||||
return syspath;
|
||||
}
|
||||
|
@ -50,7 +50,7 @@ int induct_ctx_init (hashcat_ctx_t *hashcat_ctx)
|
||||
{
|
||||
char *root_directory;
|
||||
|
||||
asprintf (&root_directory, "%s/%s.%s", folder_config->session_dir, user_options->session, INDUCT_DIR);
|
||||
hc_asprintf (&root_directory, "%s/%s.%s", folder_config->session_dir, user_options->session, INDUCT_DIR);
|
||||
|
||||
if (rmdir (root_directory) == -1)
|
||||
{
|
||||
@ -62,7 +62,7 @@ int induct_ctx_init (hashcat_ctx_t *hashcat_ctx)
|
||||
{
|
||||
char *root_directory_mv;
|
||||
|
||||
asprintf (&root_directory_mv, "%s/%s.induct.%d", folder_config->session_dir, user_options->session, (int) time (NULL));
|
||||
hc_asprintf (&root_directory_mv, "%s/%s.induct.%d", folder_config->session_dir, user_options->session, (int) time (NULL));
|
||||
|
||||
if (rename (root_directory, root_directory_mv) != 0)
|
||||
{
|
||||
|
@ -9,6 +9,7 @@
|
||||
#include "event.h"
|
||||
#include "logfile.h"
|
||||
#include "locking.h"
|
||||
#include "shared.h"
|
||||
|
||||
static int logfile_generate_id (void)
|
||||
{
|
||||
@ -83,7 +84,7 @@ int logfile_init (hashcat_ctx_t *hashcat_ctx)
|
||||
|
||||
if (user_options->logfile_disable == true) return 0;
|
||||
|
||||
asprintf (&logfile_ctx->logfile, "%s/%s.log", folder_config->session_dir, user_options->session);
|
||||
hc_asprintf (&logfile_ctx->logfile, "%s/%s.log", folder_config->session_dir, user_options->session);
|
||||
|
||||
logfile_ctx->subid = (char *) hcmalloc (HCBUFSIZ_TINY);
|
||||
logfile_ctx->topid = (char *) hcmalloc (HCBUFSIZ_TINY);
|
||||
|
@ -102,7 +102,7 @@ int loopback_write_open (hashcat_ctx_t *hashcat_ctx)
|
||||
|
||||
const u32 random_num = get_random_num (0, 9999);
|
||||
|
||||
asprintf (&loopback_ctx->filename, "%s/%s.%d_%u", induct_ctx->root_directory, LOOPBACK_FILE, (int) now, random_num);
|
||||
hc_asprintf (&loopback_ctx->filename, "%s/%s.%d_%u", induct_ctx->root_directory, LOOPBACK_FILE, (int) now, random_num);
|
||||
|
||||
FILE *fp = fopen (loopback_ctx->filename, "ab");
|
||||
|
||||
|
@ -339,7 +339,7 @@ int outcheck_ctx_init (hashcat_ctx_t *hashcat_ctx)
|
||||
|
||||
if (user_options->outfile_check_dir == NULL)
|
||||
{
|
||||
asprintf (&outcheck_ctx->root_directory, "%s/%s.%s", folder_config->session_dir, user_options->session, OUTFILES_DIR);
|
||||
hc_asprintf (&outcheck_ctx->root_directory, "%s/%s.%s", folder_config->session_dir, user_options->session, OUTFILES_DIR);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -99,7 +99,7 @@ int potfile_init (hashcat_ctx_t *hashcat_ctx)
|
||||
{
|
||||
potfile_ctx->fp = NULL;
|
||||
|
||||
asprintf (&potfile_ctx->filename, "%s/hashcat.potfile", folder_config->profile_dir);
|
||||
hc_asprintf (&potfile_ctx->filename, "%s/hashcat.potfile", folder_config->profile_dir);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -49,7 +49,7 @@ static int check_running_process (hashcat_ctx_t *hashcat_ctx)
|
||||
|
||||
char *pidbin;
|
||||
|
||||
asprintf (&pidbin, "/proc/%u/cmdline", rd->pid);
|
||||
hc_asprintf (&pidbin, "/proc/%u/cmdline", rd->pid);
|
||||
|
||||
FILE *fd = fopen (pidbin, "rb");
|
||||
|
||||
@ -356,13 +356,13 @@ int restore_ctx_init (hashcat_ctx_t *hashcat_ctx, int argc, char **argv)
|
||||
|
||||
if (user_options->restore_file_path == NULL)
|
||||
{
|
||||
asprintf (&restore_ctx->eff_restore_file, "%s/%s.restore", folder_config->session_dir, user_options->session);
|
||||
asprintf (&restore_ctx->new_restore_file, "%s/%s.restore.new", folder_config->session_dir, user_options->session);
|
||||
hc_asprintf (&restore_ctx->eff_restore_file, "%s/%s.restore", folder_config->session_dir, user_options->session);
|
||||
hc_asprintf (&restore_ctx->new_restore_file, "%s/%s.restore.new", folder_config->session_dir, user_options->session);
|
||||
}
|
||||
else
|
||||
{
|
||||
restore_ctx->eff_restore_file = hcstrdup (user_options->restore_file_path);
|
||||
asprintf (&restore_ctx->new_restore_file, "%s.new", user_options->restore_file_path);
|
||||
hc_asprintf (&restore_ctx->new_restore_file, "%s.new", user_options->restore_file_path);
|
||||
}
|
||||
|
||||
restore_ctx->argc = argc;
|
||||
|
@ -99,6 +99,15 @@ void naive_escape (char *s, size_t s_max, const char key_char, const char escape
|
||||
strncpy (s, s_escaped, s_max - 1);
|
||||
}
|
||||
|
||||
void hc_asprintf (char **strp, const char *fmt, ...)
|
||||
{
|
||||
va_list args;
|
||||
va_start (args, fmt);
|
||||
int rc __attribute__((unused));
|
||||
rc = asprintf (strp, fmt, args);
|
||||
va_end (args);
|
||||
}
|
||||
|
||||
#if defined (_POSIX)
|
||||
int hc_stat (const char *pathname, hc_stat_t *buf)
|
||||
{
|
||||
|
@ -15,6 +15,7 @@
|
||||
#include "thread.h"
|
||||
#include "opencl.h"
|
||||
#include "hashes.h"
|
||||
#include "shared.h"
|
||||
|
||||
static int sort_by_tuning_db_alias (const void *v1, const void *v2)
|
||||
{
|
||||
@ -69,7 +70,7 @@ int tuning_db_init (hashcat_ctx_t *hashcat_ctx)
|
||||
|
||||
char *tuning_db_file;
|
||||
|
||||
asprintf (&tuning_db_file, "%s/%s", folder_config->shared_dir, TUNING_DB_FILE);
|
||||
hc_asprintf (&tuning_db_file, "%s/%s", folder_config->shared_dir, TUNING_DB_FILE);
|
||||
|
||||
FILE *fp = fopen (tuning_db_file, "rb");
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user