1
0
mirror of https://github.com/hashcat/hashcat.git synced 2024-12-27 00:48:13 +00:00

Add wrapping function for asprintf()

This commit is contained in:
jsteube 2016-12-24 00:40:40 +01:00
parent 72af615e8b
commit 6ece83760d
12 changed files with 34 additions and 19 deletions

View File

@ -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);

View File

@ -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");

View File

@ -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);

View File

@ -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;
}

View File

@ -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)
{

View File

@ -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);

View File

@ -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");

View File

@ -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
{

View File

@ -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
{

View File

@ -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;

View File

@ -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)
{

View File

@ -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");