diff --git a/src/data-compat.c b/src/data-compat.c index b3b88672..e9ca90a9 100644 --- a/src/data-compat.c +++ b/src/data-compat.c @@ -60,7 +60,7 @@ gpgme_data_new_from_filepart (gpgme_data_t *r_dh, const char *fname, if (fname) stream = fopen (fname, "rb"); if (!stream) - return TRACE_ERR (gpg_error_from_errno (errno)); + return TRACE_ERR (gpg_error_from_syserror ()); #ifdef HAVE_FSEEKO res = fseeko (stream, offset, SEEK_SET); @@ -71,31 +71,31 @@ gpgme_data_new_from_filepart (gpgme_data_t *r_dh, const char *fname, if (res) { - int saved_errno = errno; + int saved_err = gpg_error_from_syserror (); if (fname) fclose (stream); - return TRACE_ERR (gpg_error_from_errno (saved_errno)); + return TRACE_ERR (saved_err); } buf = malloc (length); if (!buf) { - int saved_errno = errno; + int saved_err = gpg_error_from_syserror (); if (fname) fclose (stream); - return TRACE_ERR (gpg_error_from_errno (saved_errno)); + return TRACE_ERR (saved_err); } while (fread (buf, length, 1, stream) < 1 && ferror (stream) && errno == EINTR); if (ferror (stream)) { - int saved_errno = errno; + int saved_err = gpg_error_from_syserror (); if (buf) free (buf); if (fname) fclose (stream); - return TRACE_ERR (gpg_error_from_errno (saved_errno)); + return TRACE_ERR (saved_err); } if (fname) @@ -135,7 +135,7 @@ gpgme_data_new_from_file (gpgme_data_t *r_dh, const char *fname, int copy) return TRACE_ERR (gpg_error (GPG_ERR_INV_VALUE)); if (stat (fname, &statbuf) < 0) - return TRACE_ERR (gpg_error_from_errno (errno)); + return TRACE_ERR (gpg_error_from_syserror ()); err = gpgme_data_new_from_filepart (r_dh, fname, NULL, 0, statbuf.st_size); return TRACE_ERR (err); @@ -247,8 +247,8 @@ gpgme_data_rewind (gpgme_data_t dh) gpgme_error_t err; TRACE_BEG (DEBUG_DATA, "gpgme_data_rewind", dh); - err = (gpgme_data_seek (dh, 0, SEEK_SET) == -1) - ? gpg_error_from_errno (errno) : 0; + err = ((gpgme_data_seek (dh, 0, SEEK_SET) == -1) + ? gpg_error_from_syserror () : 0); return TRACE_ERR (err); } diff --git a/src/data-mem.c b/src/data-mem.c index 634f8a53..fc7694d2 100644 --- a/src/data-mem.c +++ b/src/data-mem.c @@ -202,9 +202,9 @@ gpgme_data_new_from_mem (gpgme_data_t *r_dh, const char *buffer, char *bufcpy = malloc (size); if (!bufcpy) { - int saved_errno = errno; + int saved_err = gpg_error_from_syserror (); _gpgme_data_release (*r_dh); - return TRACE_ERR (gpg_error_from_errno (saved_errno)); + return TRACE_ERR (saved_err); } memcpy (bufcpy, buffer, size); (*r_dh)->data.mem.buffer = bufcpy; @@ -242,9 +242,9 @@ gpgme_data_release_and_get_mem (gpgme_data_t dh, size_t *r_len) str = malloc (dh->data.mem.length); if (!str) { - int saved_errno = errno; + int saved_err = gpg_error_from_syserror (); gpgme_data_release (dh); - TRACE_ERR (gpg_error_from_errno (saved_errno)); + TRACE_ERR (saved_err); return NULL; } memcpy (str, dh->data.mem.orig_buffer, dh->data.mem.length); diff --git a/src/engine-assuan.c b/src/engine-assuan.c index 0963f4af..a3c9e92f 100644 --- a/src/engine-assuan.c +++ b/src/engine-assuan.c @@ -394,7 +394,7 @@ llass_set_locale (void *engine, int category, const char *value) return 0; if (asprintf (&optstr, "OPTION %s=%s", catstr, value) < 0) - err = gpg_error_from_errno (errno); + err = gpg_error_from_syserror (); else { err = assuan_transact (llass->assuan_ctx, optstr, NULL, NULL, diff --git a/src/engine-g13.c b/src/engine-g13.c index 9850d6b4..9231a9ac 100644 --- a/src/engine-g13.c +++ b/src/engine-g13.c @@ -225,7 +225,7 @@ g13_new (void **engine, const char *file_name, const char *home_dir) g13 = calloc (1, sizeof *g13); if (!g13) - return gpg_error_from_errno (errno); + return gpg_error_from_syserror (); g13->status_cb.fd = -1; g13->status_cb.dir = 1; @@ -269,7 +269,7 @@ g13_new (void **engine, const char *file_name, const char *home_dir) if (asprintf (&optstr, "OPTION display=%s", dft_display) < 0) { free (dft_display); - err = gpg_error_from_errno (errno); + err = gpg_error_from_syserror (); goto leave; } free (dft_display); @@ -295,7 +295,7 @@ g13_new (void **engine, const char *file_name, const char *home_dir) { if (asprintf (&optstr, "OPTION ttyname=%s", dft_ttyname) < 0) { - err = gpg_error_from_errno (errno); + err = gpg_error_from_syserror (); goto leave; } err = assuan_transact (g13->assuan_ctx, optstr, NULL, NULL, NULL, @@ -312,7 +312,7 @@ g13_new (void **engine, const char *file_name, const char *home_dir) if (asprintf (&optstr, "OPTION ttytype=%s", dft_ttytype) < 0) { free (dft_ttytype); - err = gpg_error_from_errno (errno); + err = gpg_error_from_syserror (); goto leave; } free (dft_ttytype); @@ -390,7 +390,7 @@ g13_set_locale (void *engine, int category, const char *value) return 0; if (asprintf (&optstr, "OPTION %s=%s", catstr, value) < 0) - err = gpg_error_from_errno (errno); + err = gpg_error_from_syserror (); else { err = assuan_transact (g13->assuan_ctx, optstr, NULL, NULL, diff --git a/src/engine-gpg.c b/src/engine-gpg.c index 4c7a8b2e..825a4503 100644 --- a/src/engine-gpg.c +++ b/src/engine-gpg.c @@ -210,7 +210,7 @@ _add_arg (engine_gpg_t gpg, const char *arg, int front, int *arg_locp) a = malloc (sizeof *a + strlen (arg)); if (!a) - return gpg_error_from_errno (errno); + return gpg_error_from_syserror (); a->data = NULL; a->dup_to = -1; @@ -269,7 +269,7 @@ add_data (engine_gpg_t gpg, gpgme_data_t data, int dup_to, int inbound) a = malloc (sizeof *a - 1); if (!a) - return gpg_error_from_errno (errno); + return gpg_error_from_syserror (); a->next = NULL; a->data = data; a->inbound = inbound; @@ -424,14 +424,14 @@ gpg_new (void **engine, const char *file_name, const char *home_dir) gpg = calloc (1, sizeof *gpg); if (!gpg) - return gpg_error_from_errno (errno); + return gpg_error_from_syserror (); if (file_name) { gpg->file_name = strdup (file_name); if (!gpg->file_name) { - rc = gpg_error_from_errno (errno); + rc = gpg_error_from_syserror (); goto leave; } } @@ -452,14 +452,14 @@ gpg_new (void **engine, const char *file_name, const char *home_dir) gpg->status.buffer = malloc (gpg->status.bufsize); if (!gpg->status.buffer) { - rc = gpg_error_from_errno (errno); + rc = gpg_error_from_syserror (); goto leave; } /* In any case we need a status pipe - create it right here and don't handle it with our generic gpgme_data_t mechanism. */ if (_gpgme_io_pipe (gpg->status.fd, 1) == -1) { - rc = gpg_error_from_errno (errno); + rc = gpg_error_from_syserror (); goto leave; } if (_gpgme_io_set_close_notify (gpg->status.fd[0], @@ -630,14 +630,14 @@ gpg_set_colon_line_handler (void *engine, engine_colon_line_handler_t fnc, gpg->colon.readpos = 0; gpg->colon.buffer = malloc (gpg->colon.bufsize); if (!gpg->colon.buffer) - return gpg_error_from_errno (errno); + return gpg_error_from_syserror (); if (_gpgme_io_pipe (gpg->colon.fd, 1) == -1) { - int saved_errno = errno; + int saved_err = gpg_error_from_syserror (); free (gpg->colon.buffer); gpg->colon.buffer = NULL; - return gpg_error_from_errno (saved_errno); + return saved_err; } if (_gpgme_io_set_close_notify (gpg->colon.fd[0], close_notify_handler, gpg) || _gpgme_io_set_close_notify (gpg->colon.fd[1], @@ -775,23 +775,23 @@ build_argv (engine_gpg_t gpg) argv = calloc (argc + 1, sizeof *argv); if (!argv) - return gpg_error_from_errno (errno); + return gpg_error_from_syserror (); fd_data_map = calloc (datac + 1, sizeof *fd_data_map); if (!fd_data_map) { - int saved_errno = errno; + int saved_err = gpg_error_from_syserror (); free_argv (argv); - return gpg_error_from_errno (saved_errno); + return saved_err; } argc = datac = 0; argv[argc] = strdup ("gpg"); /* argv[0] */ if (!argv[argc]) { - int saved_errno = errno; + int saved_err = gpg_error_from_syserror (); free (fd_data_map); free_argv (argv); - return gpg_error_from_errno (saved_errno); + return saved_err; } argc++; if (need_special) @@ -799,10 +799,10 @@ build_argv (engine_gpg_t gpg) argv[argc] = strdup ("--enable-special-filenames"); if (!argv[argc]) { - int saved_errno = errno; + int saved_err = gpg_error_from_syserror (); free (fd_data_map); free_argv (argv); - return gpg_error_from_errno (saved_errno); + return saved_err; } argc++; } @@ -811,10 +811,10 @@ build_argv (engine_gpg_t gpg) argv[argc] = strdup ("--use-agent"); if (!argv[argc]) { - int saved_errno = errno; + int saved_err = gpg_error_from_syserror (); free (fd_data_map); free_argv (argv); - return gpg_error_from_errno (saved_errno); + return saved_err; } argc++; } @@ -823,20 +823,20 @@ build_argv (engine_gpg_t gpg) argv[argc] = strdup ("--batch"); if (!argv[argc]) { - int saved_errno = errno; + int saved_err = gpg_error_from_syserror (); free (fd_data_map); free_argv (argv); - return gpg_error_from_errno (saved_errno); + return saved_err; } argc++; } argv[argc] = strdup ("--no-sk-comment"); if (!argv[argc]) { - int saved_errno = errno; + int saved_err = gpg_error_from_syserror (); free (fd_data_map); free_argv (argv); - return gpg_error_from_errno (saved_errno); + return saved_err; } argc++; for (a = gpg->arglist; a; a = a->next) @@ -908,10 +908,10 @@ build_argv (engine_gpg_t gpg) argv[argc] = malloc (buflen); if (!argv[argc]) { - int saved_errno = errno; + int saved_err = gpg_error_from_syserror (); free (fd_data_map); free_argv (argv); - return gpg_error_from_errno (saved_errno); + return saved_err; } ptr = argv[argc]; @@ -933,10 +933,10 @@ build_argv (engine_gpg_t gpg) argv[argc] = strdup (a->arg); if (!argv[argc]) { - int saved_errno = errno; + int saved_err = gpg_error_from_syserror (); free (fd_data_map); free_argv (argv); - return gpg_error_from_errno (saved_errno); + return saved_err; } argc++; } @@ -987,13 +987,13 @@ read_status (engine_gpg_t gpg) bufsize += 1024; buffer = realloc (buffer, bufsize); if (!buffer) - return gpg_error_from_errno (errno); + return gpg_error_from_syserror (); } nread = _gpgme_io_read (gpg->status.fd[0], buffer + readpos, bufsize-readpos); if (nread == -1) - return gpg_error_from_errno (errno); + return gpg_error_from_syserror (); if (!nread) { @@ -1043,7 +1043,7 @@ read_status (engine_gpg_t gpg) free (gpg->cmd.keyword); gpg->cmd.keyword = strdup (rest); if (!gpg->cmd.keyword) - return gpg_error_from_errno (errno); + return gpg_error_from_syserror (); /* This should be the last thing we have received and the next thing will be that the command handler does its action. */ @@ -1163,12 +1163,12 @@ read_colon_line (engine_gpg_t gpg) bufsize += 1024; buffer = realloc (buffer, bufsize); if (!buffer) - return gpg_error_from_errno (errno); + return gpg_error_from_syserror (); } nread = _gpgme_io_read (gpg->colon.fd[0], buffer+readpos, bufsize-readpos); if (nread == -1) - return gpg_error_from_errno (errno); + return gpg_error_from_syserror (); if (!nread) { @@ -1259,7 +1259,6 @@ static gpgme_error_t start (engine_gpg_t gpg) { gpgme_error_t rc; - int saved_errno; int i, n; int status; struct spawn_fd_item_s *fd_list; @@ -1299,7 +1298,7 @@ start (engine_gpg_t gpg) n++; fd_list = calloc (n, sizeof *fd_list); if (! fd_list) - return gpg_error_from_errno (errno); + return gpg_error_from_syserror (); /* Build the fd list for the child. */ n = 0; @@ -1327,11 +1326,12 @@ start (engine_gpg_t gpg) _gpgme_get_gpg_path (), gpg->argv, IOSPAWN_FLAG_ALLOW_SET_FG, fd_list, NULL, NULL, &pid); - saved_errno = errno; - - free (fd_list); - if (status == -1) - return gpg_error_from_errno (saved_errno); + { + int saved_err = gpg_error_from_syserror (); + free (fd_list); + if (status == -1) + return saved_err; + } /*_gpgme_register_term_handler ( closure, closure_value, pid );*/ @@ -1495,7 +1495,7 @@ append_args_from_sig_notations (engine_gpg_t gpg, gpgme_ctx_t ctx /* FIXME */) arg = malloc (1 + notation->name_len + 1 + notation->value_len + 1); if (!arg) - err = gpg_error_from_errno (errno); + err = gpg_error_from_syserror (); if (!err) { @@ -1531,7 +1531,7 @@ append_args_from_sig_notations (engine_gpg_t gpg, gpgme_ctx_t ctx /* FIXME */) { value = malloc (1 + notation->value_len + 1); if (!value) - err = gpg_error_from_errno (errno); + err = gpg_error_from_syserror (); else { value[0] = '!'; @@ -2061,7 +2061,7 @@ gpg_keylist_preprocess (char *line, char **r_line) if (asprintf (r_line, "pub:o%s:%s:%s:%s:%s:%s::::::::", field[6], field[3], field[2], field[1], field[4], field[5]) < 0) - return gpg_error_from_errno (errno); + return gpg_error_from_syserror (); return 0; case RT_UID: @@ -2086,7 +2086,7 @@ gpg_keylist_preprocess (char *line, char **r_line) char *dst; if (! uid) - return gpg_error_from_errno (errno); + return gpg_error_from_syserror (); src = field[1]; dst = uid; while (*src) @@ -2114,7 +2114,7 @@ gpg_keylist_preprocess (char *line, char **r_line) if (asprintf (r_line, "uid:o%s::::%s:%s:::%s:", field[4], field[2], field[3], uid) < 0) - return gpg_error_from_errno (errno); + return gpg_error_from_syserror (); } return 0; diff --git a/src/engine-gpgconf.c b/src/engine-gpgconf.c index b50b6351..96c6b3db 100644 --- a/src/engine-gpgconf.c +++ b/src/engine-gpgconf.c @@ -96,7 +96,7 @@ gpgconf_new (void **engine, const char *file_name, const char *home_dir) gpgconf = calloc (1, sizeof *gpgconf); if (!gpgconf) - return gpg_error_from_errno (errno); + return gpg_error_from_syserror (); gpgconf->file_name = strdup (file_name ? file_name : _gpgme_get_gpgconf_path ()); diff --git a/src/engine-gpgsm.c b/src/engine-gpgsm.c index 52873ac9..c4272a42 100644 --- a/src/engine-gpgsm.c +++ b/src/engine-gpgsm.c @@ -1196,9 +1196,9 @@ set_recipients (engine_gpgsm_t gpgsm, gpgme_key_t recp[]) char *newline = realloc (line, newlen); if (! newline) { - int saved_errno = errno; + int saved_err = gpg_error_from_syserror (); free (line); - return gpg_error_from_errno (saved_errno); + return saved_err; } line = newline; linelen = newlen; diff --git a/src/engine-uiserver.c b/src/engine-uiserver.c index 5468a440..92aebbbc 100644 --- a/src/engine-uiserver.c +++ b/src/engine-uiserver.c @@ -308,8 +308,8 @@ uiserver_new (void **engine, const char *file_name, const char *home_dir) { if (asprintf (&optstr, "OPTION display=%s", dft_display) < 0) { + err = gpg_error_from_syserror (); free (dft_display); - err = gpg_error_from_errno (errno); goto leave; } free (dft_display); @@ -335,7 +335,7 @@ uiserver_new (void **engine, const char *file_name, const char *home_dir) { if (asprintf (&optstr, "OPTION ttyname=%s", dft_ttyname) < 0) { - err = gpg_error_from_errno (errno); + err = gpg_error_from_syserror (); goto leave; } err = assuan_transact (uiserver->assuan_ctx, optstr, NULL, NULL, NULL, @@ -351,8 +351,8 @@ uiserver_new (void **engine, const char *file_name, const char *home_dir) { if (asprintf (&optstr, "OPTION ttytype=%s", dft_ttytype) < 0) { + err = gpg_error_from_syserror (); free (dft_ttytype); - err = gpg_error_from_errno (errno); goto leave; } free (dft_ttytype); @@ -425,7 +425,7 @@ uiserver_set_locale (void *engine, int category, const char *value) return 0; if (asprintf (&optstr, "OPTION %s=%s", catstr, value) < 0) - err = gpg_error_from_errno (errno); + err = gpg_error_from_syserror (); else { err = assuan_transact (uiserver->assuan_ctx, optstr, NULL, NULL, @@ -553,7 +553,7 @@ uiserver_set_fd (engine_uiserver_t uiserver, fd_type_t fd_type, const char *opt) int fds[2]; if (_gpgme_io_pipe (fds, 0) < 0) - return gpg_error_from_errno (errno); + return gpg_error_from_syserror (); iocb_data->fd = dir ? fds[0] : fds[1]; iocb_data->server_fd = dir ? fds[1] : fds[0]; @@ -694,7 +694,7 @@ status_handler (void *opaque, int fd) { char *newline = realloc (*aline, *alinelen + linelen + 1); if (!newline) - err = gpg_error_from_errno (errno); + err = gpg_error_from_syserror (); else { *aline = newline; @@ -779,7 +779,7 @@ status_handler (void *opaque, int fd) if (!nwritten || (nwritten < 0 && errno != EINTR) || nwritten > linelen) { - err = gpg_error_from_errno (errno); + err = gpg_error_from_syserror (); break; } src += nwritten; @@ -943,7 +943,7 @@ _uiserver_decrypt (void *engine, int verify, if (asprintf (&cmd, "DECRYPT%s%s", protocol, verify ? "" : " --no-verify") < 0) - return gpg_error_from_errno (errno); + return gpg_error_from_syserror (); uiserver->input_cb.data = ciph; err = uiserver_set_fd (uiserver, INPUT_FD, @@ -995,7 +995,7 @@ set_recipients (engine_uiserver_t uiserver, gpgme_key_t recp[]) linelen = 10 + 40 + 1; /* "RECIPIENT " + guess + '\0'. */ line = malloc (10 + 40 + 1); if (!line) - return gpg_error_from_errno (errno); + return gpg_error_from_syserror (); strcpy (line, "RECIPIENT "); for (i=0; !err && recp[i]; i++) { @@ -1015,9 +1015,9 @@ set_recipients (engine_uiserver_t uiserver, gpgme_key_t recp[]) char *newline = realloc (line, newlen); if (! newline) { - int saved_errno = errno; + int saved_err = gpg_error_from_syserror (); free (line); - return gpg_error_from_errno (saved_errno); + return saved_err; } line = newline; linelen = newlen; @@ -1070,7 +1070,7 @@ uiserver_encrypt (void *engine, gpgme_key_t recp[], gpgme_encrypt_flags_t flags, if (asprintf (&cmd, "PREP_ENCRYPT%s%s", protocol, (flags & GPGME_ENCRYPT_EXPECT_SIGN) ? " --expect-sign" : "") < 0) - return gpg_error_from_errno (errno); + return gpg_error_from_syserror (); } else { @@ -1078,7 +1078,7 @@ uiserver_encrypt (void *engine, gpgme_key_t recp[], gpgme_encrypt_flags_t flags, return gpg_error (GPG_ERR_INV_VALUE); if (asprintf (&cmd, "ENCRYPT%s", protocol) < 0) - return gpg_error_from_errno (errno); + return gpg_error_from_syserror (); } if (plain) @@ -1147,7 +1147,7 @@ uiserver_sign (void *engine, gpgme_data_t in, gpgme_data_t out, if (asprintf (&cmd, "SIGN%s%s", protocol, (mode == GPGME_SIG_MODE_DETACH) ? " --detached" : "") < 0) - return gpg_error_from_errno (errno); + return gpg_error_from_syserror (); key = gpgme_signers_enum (ctx, 0); if (key) @@ -1222,7 +1222,7 @@ uiserver_verify (void *engine, gpgme_data_t sig, gpgme_data_t signed_text, return gpgme_error (GPG_ERR_UNSUPPORTED_PROTOCOL); if (asprintf (&cmd, "VERIFY%s", protocol) < 0) - return gpg_error_from_errno (errno); + return gpg_error_from_syserror (); uiserver->input_cb.data = sig; err = uiserver_set_fd (uiserver, INPUT_FD, diff --git a/src/engine.c b/src/engine.c index f72ce7f9..d74f186f 100644 --- a/src/engine.c +++ b/src/engine.c @@ -226,7 +226,7 @@ gpgme_get_engine_info (gpgme_engine_info_t *info) *lastp = malloc (sizeof (*engine_info)); if (!*lastp || !file_name) { - int saved_errno = errno; + int saved_err = gpg_error_from_syserror (); _gpgme_engine_info_release (engine_info); engine_info = NULL; @@ -237,7 +237,7 @@ gpgme_get_engine_info (gpgme_engine_info_t *info) free (home_dir); UNLOCK (engine_info_lock); - return gpg_error_from_errno (saved_errno); + return saved_err; } (*lastp)->protocol = proto_list[proto]; @@ -294,7 +294,7 @@ _gpgme_engine_info_copy (gpgme_engine_info_t *r_info) { home_dir = strdup (info->home_dir); if (!home_dir) - err = gpg_error_from_errno (errno); + err = gpg_error_from_syserror (); } else home_dir = NULL; @@ -303,7 +303,7 @@ _gpgme_engine_info_copy (gpgme_engine_info_t *r_info) { version = strdup (info->version); if (!version) - err = gpg_error_from_errno (errno); + err = gpg_error_from_syserror (); } else version = NULL; @@ -311,7 +311,7 @@ _gpgme_engine_info_copy (gpgme_engine_info_t *r_info) *lastp = malloc (sizeof (*engine_info)); if (!*lastp || !file_name || err) { - int saved_errno = errno; + int saved_err = gpg_error_from_syserror (); _gpgme_engine_info_release (new_info); @@ -323,7 +323,7 @@ _gpgme_engine_info_copy (gpgme_engine_info_t *r_info) free (version); UNLOCK (engine_info_lock); - return gpg_error_from_errno (saved_errno); + return saved_err; } (*lastp)->protocol = info->protocol; @@ -372,7 +372,7 @@ _gpgme_set_engine_info (gpgme_engine_info_t info, gpgme_protocol_t proto, new_file_name = strdup (ofile_name); } if (!new_file_name) - return gpg_error_from_errno (errno); + return gpg_error_from_syserror (); if (home_dir) { @@ -380,7 +380,7 @@ _gpgme_set_engine_info (gpgme_engine_info_t info, gpgme_protocol_t proto, if (!new_home_dir) { free (new_file_name); - return gpg_error_from_errno (errno); + return gpg_error_from_syserror (); } } else @@ -392,7 +392,7 @@ _gpgme_set_engine_info (gpgme_engine_info_t info, gpgme_protocol_t proto, if (!new_home_dir) { free (new_file_name); - return gpg_error_from_errno (errno); + return gpg_error_from_syserror (); } } else @@ -454,7 +454,7 @@ _gpgme_engine_new (gpgme_engine_info_t info, engine_t *r_engine) engine = calloc (1, sizeof *engine); if (!engine) - return gpg_error_from_errno (errno); + return gpg_error_from_syserror (); engine->ops = engine_ops[info->protocol]; if (engine->ops->new) diff --git a/src/genkey.c b/src/genkey.c index 13765d44..fd6685ef 100644 --- a/src/genkey.c +++ b/src/genkey.c @@ -113,7 +113,7 @@ genkey_status_handler (void *priv, gpgme_status_code_t code, char *args) free (opd->result.fpr); opd->result.fpr = strdup (&args[2]); if (!opd->result.fpr) - return gpg_error_from_errno (errno); + return gpg_error_from_syserror (); } } break; diff --git a/src/get-env.c b/src/get-env.c index bcd45942..57fd4196 100644 --- a/src/get-env.c +++ b/src/get-env.c @@ -46,7 +46,7 @@ _gpgme_getenv (const char *name, char **value) { *value = strdup (env_value); if (!*value) - return gpg_error_from_errno (errno); + return gpg_error_from_syserror (); } return 0; } diff --git a/src/gpgme-tool.c b/src/gpgme-tool.c index eb1fbb86..eca1906a 100644 --- a/src/gpgme-tool.c +++ b/src/gpgme-tool.c @@ -1614,7 +1614,7 @@ gt_recipients_add (gpgme_tool_t gt, const char *pattern) gpgme_key_t key; if (gt->recipients_nr >= MAX_RECIPIENTS) - return gpg_error_from_errno (ENOMEM); + return gpg_error (GPG_ERR_ENOMEM); if (gpgme_get_protocol (gt->ctx) == GPGME_PROTOCOL_UISERVER) err = gpgme_key_from_uid (&key, pattern); diff --git a/src/gpgme.c b/src/gpgme.c index 2c6ac875..86099d60 100644 --- a/src/gpgme.c +++ b/src/gpgme.c @@ -87,7 +87,7 @@ gpgme_new (gpgme_ctx_t *r_ctx) ctx = calloc (1, sizeof *ctx); if (!ctx) - return TRACE_ERR (gpg_error_from_errno (errno)); + return TRACE_ERR (gpg_error_from_syserror ()); INIT_LOCK (ctx->lock); @@ -95,7 +95,7 @@ gpgme_new (gpgme_ctx_t *r_ctx) if (!ctx->engine_info) { free (ctx); - return TRACE_ERR (gpg_error_from_errno (errno)); + return TRACE_ERR (gpg_error_from_syserror ()); } ctx->keylist_mode = GPGME_KEYLIST_MODE_LOCAL; @@ -110,10 +110,11 @@ gpgme_new (gpgme_ctx_t *r_ctx) ctx->lc_ctype = strdup (def_lc_ctype); if (!ctx->lc_ctype) { + int saved_err = gpg_error_from_syserror (); UNLOCK (def_lc_lock); _gpgme_engine_info_release (ctx->engine_info); free (ctx); - return TRACE_ERR (gpg_error_from_errno (errno)); + return TRACE_ERR (saved_err); } } else @@ -124,12 +125,13 @@ gpgme_new (gpgme_ctx_t *r_ctx) ctx->lc_messages = strdup (def_lc_messages); if (!ctx->lc_messages) { + int saved_err = gpg_error_from_syserror (); UNLOCK (def_lc_lock); if (ctx->lc_ctype) free (ctx->lc_ctype); _gpgme_engine_info_release (ctx->engine_info); free (ctx); - return TRACE_ERR (gpg_error_from_errno (errno)); + return TRACE_ERR (saved_err); } } else @@ -676,14 +678,14 @@ gpgme_set_locale (gpgme_ctx_t ctx, int category, const char *value) if (failed) { - int saved_errno = errno; + int saved_err = gpg_error_from_syserror (); if (new_lc_ctype) free (new_lc_ctype); if (new_lc_messages) free (new_lc_messages); - return TRACE_ERR (gpg_error_from_errno (saved_errno)); + return TRACE_ERR (saved_err); } #define SET_ONE_LOCALE(lcat, ucat) \ diff --git a/src/import.c b/src/import.c index d4edaba1..6233a155 100644 --- a/src/import.c +++ b/src/import.c @@ -174,9 +174,8 @@ parse_import (char *args, gpgme_import_status_t *import_status, int problem) import->fpr = strdup (args); if (!import->fpr) { - int saved_errno = errno; free (import); - return gpg_error_from_errno (saved_errno); + return gpg_error_from_syserror (); } *import_status = import; diff --git a/src/key.c b/src/key.c index 1094f19b..59d49086 100644 --- a/src/key.c +++ b/src/key.c @@ -46,7 +46,7 @@ _gpgme_key_new (gpgme_key_t *r_key) key = calloc (1, sizeof *key); if (!key) - return gpg_error_from_errno (errno); + return gpg_error_from_syserror (); key->_refs = 1; *r_key = key; @@ -61,7 +61,7 @@ _gpgme_key_add_subkey (gpgme_key_t key, gpgme_subkey_t *r_subkey) subkey = calloc (1, sizeof *subkey); if (!subkey) - return gpg_error_from_errno (errno); + return gpg_error_from_syserror (); subkey->keyid = subkey->_keyid; subkey->_keyid[16] = '\0'; @@ -215,7 +215,7 @@ _gpgme_key_append_name (gpgme_key_t key, const char *src, int convert) size, so that we are able to store the parsed stuff there too. */ uid = malloc (sizeof (*uid) + 2 * src_len + 3); if (!uid) - return gpg_error_from_errno (errno); + return gpg_error_from_syserror (); memset (uid, 0, sizeof *uid); uid->uid = ((char *) uid) + sizeof (*uid); diff --git a/src/keylist.c b/src/keylist.c index 3d240aa6..465b4720 100644 --- a/src/keylist.c +++ b/src/keylist.c @@ -558,7 +558,7 @@ keylist_colon_handler (void *priv, char *line) { key->issuer_serial = strdup (field[7]); if (!key->issuer_serial) - return gpg_error_from_errno (errno); + return gpg_error_from_syserror (); } /* Field 9 has the ownertrust. */ @@ -653,7 +653,7 @@ keylist_colon_handler (void *priv, char *line) if (fields >= 10) { if (_gpgme_key_append_name (key, field[9], 1)) - return gpg_error_from_errno (GPG_ERR_ENOMEM); /* FIXME */ + return gpg_error (GPG_ERR_ENOMEM); /* FIXME */ else { if (field[1]) @@ -674,7 +674,7 @@ keylist_colon_handler (void *priv, char *line) { subkey->fpr = strdup (field[9]); if (!subkey->fpr) - return gpg_error_from_errno (errno); + return gpg_error_from_syserror (); } } @@ -683,7 +683,7 @@ keylist_colon_handler (void *priv, char *line) { key->chain_id = strdup (field[12]); if (!key->chain_id) - return gpg_error_from_errno (errno); + return gpg_error_from_syserror (); } break; diff --git a/src/op-support.c b/src/op-support.c index d42a247b..6a0817ce 100644 --- a/src/op-support.c +++ b/src/op-support.c @@ -56,7 +56,7 @@ _gpgme_op_data_lookup (gpgme_ctx_t ctx, ctx_op_data_id_t type, void **hook, data = calloc (1, sizeof (struct ctx_op_data) + size); if (!data) - return gpg_error_from_errno (errno); + return gpg_error_from_syserror (); data->magic = CTX_OP_DATA_MAGIC; data->next = ctx->op_data; data->type = type; @@ -192,7 +192,7 @@ _gpgme_parse_inv_recp (char *args, gpgme_invalid_key_t *key) inv_key = malloc (sizeof (*inv_key)); if (!inv_key) - return gpg_error_from_errno (errno); + return gpg_error_from_syserror (); inv_key->next = NULL; gpg_err_set_errno (0); reason = strtol (args, &tail, 0); @@ -266,9 +266,8 @@ _gpgme_parse_inv_recp (char *args, gpgme_invalid_key_t *key) inv_key->fpr = strdup (tail); if (!inv_key->fpr) { - int saved_errno = errno; free (inv_key); - return gpg_error_from_errno (saved_errno); + return gpg_error_from_syserror (); } } else diff --git a/src/passphrase.c b/src/passphrase.c index 7e5508eb..00e9d999 100644 --- a/src/passphrase.c +++ b/src/passphrase.c @@ -77,7 +77,7 @@ _gpgme_passphrase_status_handler (void *priv, gpgme_status_code_t code, if (opd->uid_hint) free (opd->uid_hint); if (!(opd->uid_hint = strdup (args))) - return gpg_error_from_errno (errno); + return gpg_error_from_syserror (); break; case GPGME_STATUS_BAD_PASSPHRASE: @@ -97,7 +97,7 @@ _gpgme_passphrase_status_handler (void *priv, gpgme_status_code_t code, free (opd->passphrase_info); opd->passphrase_info = strdup (args); if (!opd->passphrase_info) - return gpg_error_from_errno (errno); + return gpg_error_from_syserror (); break; case GPGME_STATUS_MISSING_PASSPHRASE: diff --git a/src/progress.c b/src/progress.c index a4e48f16..c10ccaa8 100644 --- a/src/progress.c +++ b/src/progress.c @@ -47,7 +47,7 @@ _gpgme_progress_status_handler (void *priv, gpgme_status_code_t code, args_cpy = strdup (args); if (!args_cpy) - return gpg_error_from_errno (errno); + return gpg_error_from_syserror (); p = strchr (args_cpy, ' '); if (p) diff --git a/src/sig-notation.c b/src/sig-notation.c index 46efac6d..c747ad62 100644 --- a/src/sig-notation.c +++ b/src/sig-notation.c @@ -79,7 +79,7 @@ _gpgme_sig_notation_create (gpgme_sig_notation_t *notationp, notation = calloc (1, sizeof (*notation)); if (!notation) - return gpg_error_from_errno (errno); + return gpg_error_from_syserror (); /* This is critical. We want to reliably identify policy URLs by using a NULL pointer for NAME. So all notations must have a NAME @@ -91,7 +91,7 @@ _gpgme_sig_notation_create (gpgme_sig_notation_t *notationp, notation->name = malloc (name_len + 1); if (!notation->name) { - err = gpg_error_from_errno (errno); + err = gpg_error_from_syserror (); goto err; } @@ -107,7 +107,7 @@ _gpgme_sig_notation_create (gpgme_sig_notation_t *notationp, notation->value = malloc (value_len + 1); if (!notation->value) { - err = gpg_error_from_errno (errno); + err = gpg_error_from_syserror (); goto err; } diff --git a/src/sign.c b/src/sign.c index 67280e9f..e9107991 100644 --- a/src/sign.c +++ b/src/sign.c @@ -234,9 +234,8 @@ parse_sig_created (char *args, gpgme_new_signature_t *sigp) sig->fpr = strdup (args); if (!sig->fpr) { - int saved_errno = errno; free (sig); - return gpg_error_from_errno (saved_errno); + return gpg_error_from_syserror (); } *sigp = sig; return 0; diff --git a/src/signers.c b/src/signers.c index b2e8cfa1..88f923c5 100644 --- a/src/signers.c +++ b/src/signers.c @@ -80,7 +80,7 @@ gpgme_signers_add (gpgme_ctx_t ctx, const gpgme_key_t key) newarr = realloc (ctx->signers, n * sizeof (*newarr)); if (!newarr) - return TRACE_ERR (gpg_error_from_errno (errno)); + return TRACE_ERR (gpg_error_from_syserror ()); for (j = ctx->signers_size; j < n; j++) newarr[j] = NULL; ctx->signers = newarr; diff --git a/src/trust-item.c b/src/trust-item.c index 5a0b5449..f9378c68 100644 --- a/src/trust-item.c +++ b/src/trust-item.c @@ -47,7 +47,7 @@ _gpgme_trust_item_new (gpgme_trust_item_t *r_item) item = calloc (1, sizeof *item); if (!item) - return gpg_error_from_errno (errno); + return gpg_error_from_syserror (); item->_refs = 1; item->keyid = item->_keyid; item->_keyid[16] = '\0'; diff --git a/src/trustlist.c b/src/trustlist.c index ca7d7ee0..d4567805 100644 --- a/src/trustlist.c +++ b/src/trustlist.c @@ -111,9 +111,9 @@ trustlist_colon_handler (void *priv, char *line) item->name = strdup (p); if (!item->name) { - int saved_errno = errno; + int saved_err = gpg_error_from_syserror (); gpgme_trust_item_unref (item); - return gpg_error_from_errno (saved_errno); + return saved_err; } break; } diff --git a/src/wait-global.c b/src/wait-global.c index 9a194b0d..f03775e2 100644 --- a/src/wait-global.c +++ b/src/wait-global.c @@ -97,7 +97,7 @@ ctx_active (gpgme_ctx_t ctx) { struct ctx_list_item *li = malloc (sizeof (struct ctx_list_item)); if (!li) - return gpg_error_from_errno (errno); + return gpg_error_from_syserror (); li->ctx = ctx; LOCK (ctx_list_lock); @@ -269,10 +269,10 @@ gpgme_wait_ext (gpgme_ctx_t ctx, gpgme_error_t *status, fdt.fds = malloc (i * sizeof (struct io_select_fd_s)); if (!fdt.fds) { - int saved_errno = errno; + int saved_err = gpg_error_from_syserror (); UNLOCK (ctx_list_lock); if (status) - *status = gpg_error_from_errno (saved_errno); + *status = saved_err; if (op_err) *op_err = 0; return NULL; @@ -290,10 +290,10 @@ gpgme_wait_ext (gpgme_ctx_t ctx, gpgme_error_t *status, nr = _gpgme_io_select (fdt.fds, fdt.size, 0); if (nr < 0) { - int saved_errno = errno; + int saved_err = gpg_error_from_syserror (); free (fdt.fds); if (status) - *status = gpg_error_from_errno (saved_errno); + *status = saved_err; if (op_err) *op_err = 0; return NULL; diff --git a/src/wait-private.c b/src/wait-private.c index aab8fb7f..9a43110e 100644 --- a/src/wait-private.c +++ b/src/wait-private.c @@ -91,7 +91,7 @@ _gpgme_wait_on_condition (gpgme_ctx_t ctx, volatile int *cond, { /* An error occured. Close all fds in this context, and signal it. */ - err = gpg_error_from_errno (errno); + err = gpg_error_from_syserror (); _gpgme_cancel_with_err (ctx, err, 0); return err; diff --git a/src/wait.c b/src/wait.c index 992f2350..20b23032 100644 --- a/src/wait.c +++ b/src/wait.c @@ -73,7 +73,7 @@ fd_table_put (fd_table_t fdt, int fd, int dir, void *opaque, int *idx) new_fds = realloc (fdt->fds, (fdt->size + FDT_ALLOCSIZE) * sizeof (*new_fds)); if (!new_fds) - return gpg_error_from_errno (errno); + return gpg_error_from_syserror (); fdt->fds = new_fds; fdt->size += FDT_ALLOCSIZE; @@ -113,16 +113,15 @@ _gpgme_add_io_cb (void *data, int fd, int dir, gpgme_io_cb_t fnc, tag = malloc (sizeof *tag); if (!tag) - return gpg_error_from_errno (errno); + return gpg_error_from_syserror (); tag->ctx = ctx; /* Allocate a structure to hold information about the handler. */ item = calloc (1, sizeof *item); if (!item) { - int saved_errno = errno; free (tag); - return gpg_error_from_errno (saved_errno); + return gpg_error_from_syserror (); } item->ctx = ctx; item->dir = dir;