aboutsummaryrefslogtreecommitdiffstats
path: root/src/engine-gpg.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/engine-gpg.c')
-rw-r--r--src/engine-gpg.c123
1 files changed, 62 insertions, 61 deletions
diff --git a/src/engine-gpg.c b/src/engine-gpg.c
index 30c3bfbe..b54e769d 100644
--- a/src/engine-gpg.c
+++ b/src/engine-gpg.c
@@ -44,6 +44,7 @@
#include "debug.h"
#include "engine-backend.h"
+#include "mem.h"
/* This type is used to build a list of gpg arguments and data
@@ -209,7 +210,7 @@ _add_arg (engine_gpg_t gpg, const char *arg, int front, int *arg_locp)
assert (gpg);
assert (arg);
- a = malloc (sizeof *a + strlen (arg));
+ a = _gpgme_malloc (sizeof *a + strlen (arg));
if (!a)
return gpg_error_from_syserror ();
@@ -268,7 +269,7 @@ add_data (engine_gpg_t gpg, gpgme_data_t data, int dup_to, int inbound)
assert (gpg);
assert (data);
- a = malloc (sizeof *a - 1);
+ a = _gpgme_malloc (sizeof *a - 1);
if (!a)
return gpg_error_from_syserror ();
a->next = NULL;
@@ -313,8 +314,8 @@ free_argv (char **argv)
int i;
for (i = 0; argv[i]; i++)
- free (argv[i]);
- free (argv);
+ _gpgme_free (argv[i]);
+ _gpgme_free (argv);
}
@@ -334,7 +335,7 @@ free_fd_data_map (struct fd_data_map_s *fd_data_map)
_gpgme_io_close (fd_data_map[i].peer_fd);
/* Don't release data because this is only a reference. */
}
- free (fd_data_map);
+ _gpgme_free (fd_data_map);
}
@@ -385,32 +386,32 @@ gpg_release (void *engine)
gpg_cancel (engine);
if (gpg->file_name)
- free (gpg->file_name);
+ _gpgme_free (gpg->file_name);
if (gpg->lc_messages)
- free (gpg->lc_messages);
+ _gpgme_free (gpg->lc_messages);
if (gpg->lc_ctype)
- free (gpg->lc_ctype);
+ _gpgme_free (gpg->lc_ctype);
while (gpg->arglist)
{
struct arg_and_data_s *next = gpg->arglist->next;
if (gpg->arglist)
- free (gpg->arglist);
+ _gpgme_free (gpg->arglist);
gpg->arglist = next;
}
if (gpg->status.buffer)
- free (gpg->status.buffer);
+ _gpgme_free (gpg->status.buffer);
if (gpg->colon.buffer)
- free (gpg->colon.buffer);
+ _gpgme_free (gpg->colon.buffer);
if (gpg->argv)
free_argv (gpg->argv);
if (gpg->cmd.keyword)
- free (gpg->cmd.keyword);
+ _gpgme_free (gpg->cmd.keyword);
- free (gpg);
+ _gpgme_free (gpg);
}
@@ -423,13 +424,13 @@ gpg_new (void **engine, const char *file_name, const char *home_dir)
char dft_ttyname[64];
char *dft_ttytype = NULL;
- gpg = calloc (1, sizeof *gpg);
+ gpg = _gpgme_calloc (1, sizeof *gpg);
if (!gpg)
return gpg_error_from_syserror ();
if (file_name)
{
- gpg->file_name = strdup (file_name);
+ gpg->file_name = _gpgme_strdup (file_name);
if (!gpg->file_name)
{
rc = gpg_error_from_syserror ();
@@ -450,7 +451,7 @@ gpg_new (void **engine, const char *file_name, const char *home_dir)
/* Allocate the read buffer for the status pipe. */
gpg->status.bufsize = 1024;
gpg->status.readpos = 0;
- gpg->status.buffer = malloc (gpg->status.bufsize);
+ gpg->status.buffer = _gpgme_malloc (gpg->status.bufsize);
if (!gpg->status.buffer)
{
rc = gpg_error_from_syserror ();
@@ -513,7 +514,7 @@ gpg_new (void **engine, const char *file_name, const char *home_dir)
if (!rc)
rc = add_arg (gpg, dft_display);
- free (dft_display);
+ _gpgme_free (dft_display);
}
if (isatty (1))
@@ -546,7 +547,7 @@ gpg_new (void **engine, const char *file_name, const char *home_dir)
rc = add_arg (gpg, dft_ttytype);
}
- free (dft_ttytype);
+ _gpgme_free (dft_ttytype);
}
}
if (rc)
@@ -574,12 +575,12 @@ gpg_set_locale (void *engine, int category, const char *value)
{
if (gpg->lc_ctype)
{
- free (gpg->lc_ctype);
+ _gpgme_free (gpg->lc_ctype);
gpg->lc_ctype = NULL;
}
if (value)
{
- gpg->lc_ctype = strdup (value);
+ gpg->lc_ctype = _gpgme_strdup (value);
if (!gpg->lc_ctype)
return gpg_error_from_syserror ();
}
@@ -590,12 +591,12 @@ gpg_set_locale (void *engine, int category, const char *value)
{
if (gpg->lc_messages)
{
- free (gpg->lc_messages);
+ _gpgme_free (gpg->lc_messages);
gpg->lc_messages = NULL;
}
if (value)
{
- gpg->lc_messages = strdup (value);
+ gpg->lc_messages = _gpgme_strdup (value);
if (!gpg->lc_messages)
return gpg_error_from_syserror ();
}
@@ -629,14 +630,14 @@ gpg_set_colon_line_handler (void *engine, engine_colon_line_handler_t fnc,
gpg->colon.bufsize = 1024;
gpg->colon.readpos = 0;
- gpg->colon.buffer = malloc (gpg->colon.bufsize);
+ gpg->colon.buffer = _gpgme_malloc (gpg->colon.bufsize);
if (!gpg->colon.buffer)
return gpg_error_from_syserror ();
if (_gpgme_io_pipe (gpg->colon.fd, 1) == -1)
{
int saved_err = gpg_error_from_syserror ();
- free (gpg->colon.buffer);
+ _gpgme_free (gpg->colon.buffer);
gpg->colon.buffer = NULL;
return saved_err;
}
@@ -741,7 +742,7 @@ build_argv (engine_gpg_t gpg, const char *pgmname)
return err;
use_agent = (p && strchr (p, ':'));
if (p)
- free (p);
+ _gpgme_free (p);
}
if (gpg->argv)
@@ -781,10 +782,10 @@ build_argv (engine_gpg_t gpg, const char *pgmname)
argc++; /* --batch */
argc += 1; /* --no-sk-comments */
- argv = calloc (argc + 1, sizeof *argv);
+ argv = _gpgme_calloc (argc + 1, sizeof *argv);
if (!argv)
return gpg_error_from_syserror ();
- fd_data_map = calloc (datac + 1, sizeof *fd_data_map);
+ fd_data_map = _gpgme_calloc (datac + 1, sizeof *fd_data_map);
if (!fd_data_map)
{
int saved_err = gpg_error_from_syserror ();
@@ -793,22 +794,22 @@ build_argv (engine_gpg_t gpg, const char *pgmname)
}
argc = datac = 0;
- argv[argc] = strdup (_gpgme_get_basename (pgmname)); /* argv[0] */
+ argv[argc] = _gpgme_strdup (_gpgme_get_basename (pgmname)); /* argv[0] */
if (!argv[argc])
{
int saved_err = gpg_error_from_syserror ();
- free (fd_data_map);
+ _gpgme_free (fd_data_map);
free_argv (argv);
return saved_err;
}
argc++;
if (need_special)
{
- argv[argc] = strdup ("--enable-special-filenames");
+ argv[argc] = _gpgme_strdup ("--enable-special-filenames");
if (!argv[argc])
{
int saved_err = gpg_error_from_syserror ();
- free (fd_data_map);
+ _gpgme_free (fd_data_map);
free_argv (argv);
return saved_err;
}
@@ -816,11 +817,11 @@ build_argv (engine_gpg_t gpg, const char *pgmname)
}
if (use_agent)
{
- argv[argc] = strdup ("--use-agent");
+ argv[argc] = _gpgme_strdup ("--use-agent");
if (!argv[argc])
{
int saved_err = gpg_error_from_syserror ();
- free (fd_data_map);
+ _gpgme_free (fd_data_map);
free_argv (argv);
return saved_err;
}
@@ -840,11 +841,11 @@ build_argv (engine_gpg_t gpg, const char *pgmname)
}
if (s)
{
- argv[argc] = strdup (s);
+ argv[argc] = _gpgme_strdup (s);
if (!argv[argc])
{
int saved_err = gpg_error_from_syserror ();
- free (fd_data_map);
+ _gpgme_free (fd_data_map);
free_argv (argv);
return saved_err;
}
@@ -854,21 +855,21 @@ build_argv (engine_gpg_t gpg, const char *pgmname)
if (!gpg->cmd.used)
{
- argv[argc] = strdup ("--batch");
+ argv[argc] = _gpgme_strdup ("--batch");
if (!argv[argc])
{
int saved_err = gpg_error_from_syserror ();
- free (fd_data_map);
+ _gpgme_free (fd_data_map);
free_argv (argv);
return saved_err;
}
argc++;
}
- argv[argc] = strdup ("--no-sk-comments");
+ argv[argc] = _gpgme_strdup ("--no-sk-comments");
if (!argv[argc])
{
int saved_err = gpg_error_from_syserror ();
- free (fd_data_map);
+ _gpgme_free (fd_data_map);
free_argv (argv);
return saved_err;
}
@@ -891,7 +892,7 @@ build_argv (engine_gpg_t gpg, const char *pgmname)
== -1)
{
int saved_errno = errno;
- free (fd_data_map);
+ _gpgme_free (fd_data_map);
free_argv (argv);
return gpg_error (saved_errno);
}
@@ -943,11 +944,11 @@ build_argv (engine_gpg_t gpg, const char *pgmname)
char *ptr;
int buflen = 25;
- argv[argc] = malloc (buflen);
+ argv[argc] = _gpgme_malloc (buflen);
if (!argv[argc])
{
int saved_err = gpg_error_from_syserror ();
- free (fd_data_map);
+ _gpgme_free (fd_data_map);
free_argv (argv);
return saved_err;
}
@@ -968,11 +969,11 @@ build_argv (engine_gpg_t gpg, const char *pgmname)
}
else
{
- argv[argc] = strdup (a->arg);
+ argv[argc] = _gpgme_strdup (a->arg);
if (!argv[argc])
{
int saved_err = gpg_error_from_syserror ();
- free (fd_data_map);
+ _gpgme_free (fd_data_map);
free_argv (argv);
return saved_err;
}
@@ -1023,7 +1024,7 @@ read_status (engine_gpg_t gpg)
{
/* Need more room for the read. */
bufsize += 1024;
- buffer = realloc (buffer, bufsize);
+ buffer = _gpgme_realloc (buffer, bufsize);
if (!buffer)
return gpg_error_from_syserror ();
}
@@ -1078,8 +1079,8 @@ read_status (engine_gpg_t gpg)
{
gpg->cmd.code = r;
if (gpg->cmd.keyword)
- free (gpg->cmd.keyword);
- gpg->cmd.keyword = strdup (rest);
+ _gpgme_free (gpg->cmd.keyword);
+ gpg->cmd.keyword = _gpgme_strdup (rest);
if (!gpg->cmd.keyword)
return gpg_error_from_syserror ();
/* This should be the last thing we have
@@ -1199,7 +1200,7 @@ read_colon_line (engine_gpg_t gpg)
{
/* Need more room for the read. */
bufsize += 1024;
- buffer = realloc (buffer, bufsize);
+ buffer = _gpgme_realloc (buffer, bufsize);
if (!buffer)
return gpg_error_from_syserror ();
}
@@ -1257,7 +1258,7 @@ read_colon_line (engine_gpg_t gpg)
}
while (linep && *linep);
- free (line);
+ _gpgme_free (line);
}
else
gpg->colon.fnc (gpg->colon.fnc_value, buffer);
@@ -1352,7 +1353,7 @@ start (engine_gpg_t gpg)
n = 3;
for (i = 0; gpg->fd_data_map[i].data; i++)
n++;
- fd_list = calloc (n, sizeof *fd_list);
+ fd_list = _gpgme_calloc (n, sizeof *fd_list);
if (! fd_list)
return gpg_error_from_syserror ();
@@ -1383,7 +1384,7 @@ start (engine_gpg_t gpg)
fd_list, NULL, NULL, &pid);
{
int saved_err = gpg_error_from_syserror ();
- free (fd_list);
+ _gpgme_free (fd_list);
if (status == -1)
return saved_err;
}
@@ -1548,7 +1549,7 @@ append_args_from_sig_notations (engine_gpg_t gpg, gpgme_ctx_t ctx /* FIXME */)
the name, one byte for '=', the value, and a terminating
'\0'. */
- arg = malloc (1 + notation->name_len + 1 + notation->value_len + 1);
+ arg = _gpgme_malloc (1 + notation->name_len + 1 + notation->value_len + 1);
if (!arg)
err = gpg_error_from_syserror ();
@@ -1574,7 +1575,7 @@ append_args_from_sig_notations (engine_gpg_t gpg, gpgme_ctx_t ctx /* FIXME */)
err = add_arg (gpg, arg);
if (arg)
- free (arg);
+ _gpgme_free (arg);
}
else
{
@@ -1584,7 +1585,7 @@ append_args_from_sig_notations (engine_gpg_t gpg, gpgme_ctx_t ctx /* FIXME */)
if (notation->critical)
{
- value = malloc (1 + notation->value_len + 1);
+ value = _gpgme_malloc (1 + notation->value_len + 1);
if (!value)
err = gpg_error_from_syserror ();
else
@@ -1603,7 +1604,7 @@ append_args_from_sig_notations (engine_gpg_t gpg, gpgme_ctx_t ctx /* FIXME */)
err = add_arg (gpg, value);
if (value != notation->value)
- free (value);
+ _gpgme_free (value);
}
notation = notation->next;
@@ -1921,7 +1922,7 @@ string_from_data (gpgme_data_t data, int delim,
{
if (*helpptr)
{
- free (*helpptr);
+ _gpgme_free (*helpptr);
*helpptr = NULL;
}
return NULL;
@@ -1931,7 +1932,7 @@ string_from_data (gpgme_data_t data, int delim,
self = *helpptr;
else
{
- self = malloc (sizeof *self);
+ self = _gpgme_malloc (sizeof *self);
if (!self)
{
*r_err = gpg_error_from_syserror ();
@@ -2135,7 +2136,7 @@ gpg_keylist_preprocess (char *line, char **r_line)
n = strlen (field[1]);
if (n > 16)
{
- if (asprintf (r_line,
+ if (_gpgme_asprintf (r_line,
"pub:o%s:%s:%s:%s:%s:%s::::::::\n"
"fpr:::::::::%s:",
field[6], field[3], field[2], field[1] + n - 16,
@@ -2144,7 +2145,7 @@ gpg_keylist_preprocess (char *line, char **r_line)
}
else
{
- if (asprintf (r_line,
+ if (_gpgme_asprintf (r_line,
"pub:o%s:%s:%s:%s:%s:%s::::::::",
field[6], field[3], field[2], field[1],
field[4], field[5]) < 0)
@@ -2170,7 +2171,7 @@ gpg_keylist_preprocess (char *line, char **r_line)
Because we have to replace each '%HL' by '\xHL', we need at
most 4/3 th the number of bytes. But because we also need
to escape the backslashes we allocate twice as much. */
- char *uid = malloc (2 * strlen (field[1]) + 1);
+ char *uid = _gpgme_malloc (2 * strlen (field[1]) + 1);
char *src;
char *dst;
@@ -2201,7 +2202,7 @@ gpg_keylist_preprocess (char *line, char **r_line)
}
*dst = '\0';
- if (asprintf (r_line, "uid:o%s::::%s:%s:::%s:",
+ if (_gpgme_asprintf (r_line, "uid:o%s::::%s:%s:::%s:",
field[4], field[2], field[3], uid) < 0)
return gpg_error_from_syserror ();
}