Compare commits

...

No commits in common. 'c9' and 'i10cs' have entirely different histories.
c9 ... i10cs

4
.gitignore vendored

@ -1,3 +1,3 @@
SOURCES/p11-kit-0.25.3.tar.xz
SOURCES/p11-kit-0.25.3.tar.xz.sig
SOURCES/p11-kit-0.25.5.tar.xz
SOURCES/p11-kit-0.25.5.tar.xz.sig
SOURCES/p11-kit-release-keyring.gpg

@ -1,3 +1,3 @@
796f3b69cad054a52e04f520459beaaab936b99f SOURCES/p11-kit-0.25.3.tar.xz
4133131840ef3f9609403fe391ce414878bcb9f1 SOURCES/p11-kit-0.25.3.tar.xz.sig
c3a1607be931656bbc8a9e2ba3209ee1d3314f99 SOURCES/p11-kit-0.25.5.tar.xz
e7461ec8a28419da218e5899104c23f7e3b610b7 SOURCES/p11-kit-0.25.5.tar.xz.sig
6fecd5be3ee12d07f6f61a65e18523ee03e0f925 SOURCES/p11-kit-release-keyring.gpg

@ -1,298 +0,0 @@
From 58cd1c05e001a4fe250c15f3599e79974bc509e3 Mon Sep 17 00:00:00 2001
From: Zoltan Fridrich <zfridric@redhat.com>
Date: Thu, 16 Nov 2023 10:12:14 +0100
Subject: [PATCH] Fix issues found by static analysis
Signed-off-by: Zoltan Fridrich <zfridric@redhat.com>
---
common/frob-getprogname.c | 4 ++--
common/test.c | 4 +---
p11-kit/generate-keypair.c | 25 +++++++++----------------
p11-kit/import-object.c | 22 +++++-----------------
p11-kit/lists.c | 1 +
p11-kit/print-config.c | 4 +++-
p11-kit/rpc-client.c | 6 ++++--
p11-kit/test-uri.c | 4 ++--
trust/test-trust.c | 2 +-
9 files changed, 28 insertions(+), 44 deletions(-)
diff --git a/common/frob-getprogname.c b/common/frob-getprogname.c
index ead658cc8..46e3b7fd3 100644
--- a/common/frob-getprogname.c
+++ b/common/frob-getprogname.c
@@ -76,14 +76,14 @@ main (int argc,
execv (BUILDDIR "/common/frob-getprogname" EXEEXT, args);
} else {
int status;
- char buffer[1024];
+ char buffer[1024] = { 0 };
size_t offset = 0;
ssize_t nread;
char *p;
close (pfds[1]);
while (1) {
- nread = read (pfds[0], buffer + offset, sizeof(buffer) - offset);
+ nread = read (pfds[0], buffer + offset, sizeof(buffer) - offset - 1);
if (nread < 0) {
perror ("read");
exit (EXIT_FAILURE);
diff --git a/common/test.c b/common/test.c
index 3ed98da01..6cdbd1fa2 100644
--- a/common/test.c
+++ b/common/test.c
@@ -272,7 +272,6 @@ p11_testx (void (* function) (void *),
test_item item = { TEST, };
va_list va;
- item.type = TEST;
item.x.test.func = function;
item.x.test.argument = argument;
@@ -287,9 +286,8 @@ void
p11_fixture (void (* setup) (void *),
void (* teardown) (void *))
{
- test_item item;
+ test_item item = { FIXTURE, };
- item.type = FIXTURE;
item.x.fix.setup = setup;
item.x.fix.teardown = teardown;
diff --git a/p11-kit/generate-keypair.c b/p11-kit/generate-keypair.c
index 49dc11830..695103d1d 100644
--- a/p11-kit/generate-keypair.c
+++ b/p11-kit/generate-keypair.c
@@ -351,7 +351,7 @@ int
p11_kit_generate_keypair (int argc,
char *argv[])
{
- int opt, ret = 2;
+ int opt, ret;
char *label = NULL;
CK_ULONG bits = 0;
const uint8_t *ec_params = NULL;
@@ -396,31 +396,27 @@ p11_kit_generate_keypair (int argc,
while ((opt = p11_tool_getopt (argc, argv, options)) != -1) {
switch (opt) {
case opt_label:
- label = strdup (optarg);
- if (label == NULL) {
- p11_message (_("failed to allocate memory"));
- goto cleanup;
- }
+ label = optarg;
break;
case opt_type:
mechanism = get_mechanism (optarg);
if (mechanism.mechanism == CKA_INVALID) {
p11_message (_("unknown mechanism type: %s"), optarg);
- goto cleanup;
+ return 2;
}
break;
case opt_bits:
bits = strtol (optarg, NULL, 10);
if (bits == 0) {
p11_message (_("failed to parse bits value: %s"), optarg);
- goto cleanup;
+ return 2;
}
break;
case opt_curve:
ec_params = get_ec_params (optarg, &ec_params_len);
if (ec_params == NULL) {
p11_message (_("unknown curve name: %s"), optarg);
- goto cleanup;
+ return 2;
}
break;
case opt_login:
@@ -434,10 +430,9 @@ p11_kit_generate_keypair (int argc,
break;
case opt_help:
p11_tool_usage (usages, options);
- ret = 0;
- goto cleanup;
+ return 0;
case '?':
- goto cleanup;
+ return 2;
default:
assert_not_reached ();
break;
@@ -449,11 +444,11 @@ p11_kit_generate_keypair (int argc,
if (argc != 1) {
p11_tool_usage (usages, options);
- goto cleanup;
+ return 2;
}
if (!check_args (mechanism.mechanism, bits, ec_params))
- goto cleanup;
+ return 2;
#ifdef OS_UNIX
/* Register a fallback PIN callback that reads from terminal.
@@ -464,11 +459,9 @@ p11_kit_generate_keypair (int argc,
ret = generate_keypair (*argv, label, mechanism, bits, ec_params, ec_params_len, login);
-cleanup:
#ifdef OS_UNIX
p11_kit_pin_unregister_callback ("tty", p11_pin_tty_callback, NULL);
#endif
- free (label);
return ret;
}
diff --git a/p11-kit/import-object.c b/p11-kit/import-object.c
index 270a0e027..feee07659 100644
--- a/p11-kit/import-object.c
+++ b/p11-kit/import-object.c
@@ -500,7 +500,7 @@ int
p11_kit_import_object (int argc,
char *argv[])
{
- int opt, ret = 2;
+ int opt, ret;
char *label = NULL;
char *file = NULL;
bool login = false;
@@ -536,18 +536,10 @@ p11_kit_import_object (int argc,
while ((opt = p11_tool_getopt (argc, argv, options)) != -1) {
switch (opt) {
case opt_label:
- label = strdup (optarg);
- if (label == NULL) {
- p11_message (_("failed to allocate memory"));
- goto cleanup;
- }
+ label = optarg;
break;
case opt_file:
- file = strdup (optarg);
- if (file == NULL) {
- p11_message (_("failed to allocate memory"));
- goto cleanup;
- }
+ file = optarg;
break;
case opt_login:
login = true;
@@ -574,12 +566,12 @@ p11_kit_import_object (int argc,
if (argc != 1) {
p11_tool_usage (usages, options);
- goto cleanup;
+ return 2;
}
if (file == NULL) {
p11_message (_("no file specified"));
- goto cleanup;
+ return 2;
}
#ifdef OS_UNIX
@@ -595,10 +587,6 @@ p11_kit_import_object (int argc,
p11_kit_pin_unregister_callback ("tty", p11_pin_tty_callback, NULL);
#endif
-cleanup:
- free (label);
- free (file);
-
return ret;
}
diff --git a/p11-kit/lists.c b/p11-kit/lists.c
index df58beb3f..007bb0f12 100644
--- a/p11-kit/lists.c
+++ b/p11-kit/lists.c
@@ -295,6 +295,7 @@ print_modules (void)
if (rv != CKR_OK) {
p11_message (_("couldn't load module info: %s"),
p11_kit_strerror (rv));
+ p11_kit_modules_finalize_and_release (module_list);
return 1;
}
diff --git a/p11-kit/print-config.c b/p11-kit/print-config.c
index 173b55feb..29daf3871 100644
--- a/p11-kit/print-config.c
+++ b/p11-kit/print-config.c
@@ -74,8 +74,10 @@ print_config (void)
P11_PACKAGE_CONFIG_MODULES,
P11_SYSTEM_CONFIG_MODULES,
P11_USER_CONFIG_MODULES);
- if (modules_conf == NULL)
+ if (modules_conf == NULL) {
+ p11_dict_free (global_conf);
return 1;
+ }
printf ("[global]\n");
p11_dict_iterate (global_conf, &i);
diff --git a/p11-kit/rpc-client.c b/p11-kit/rpc-client.c
index fb39103eb..19b628b1a 100644
--- a/p11-kit/rpc-client.c
+++ b/p11-kit/rpc-client.c
@@ -173,6 +173,8 @@ call_done (rpc_client *module,
p11_rpc_message *msg,
CK_RV ret)
{
+ p11_buffer *buf;
+
assert (module != NULL);
assert (msg != NULL);
@@ -189,9 +191,9 @@ call_done (rpc_client *module,
/* We used the same buffer for input/output, so this frees both */
assert (msg->input == msg->output);
- p11_rpc_buffer_free (msg->input);
-
+ buf = msg->input;
p11_rpc_message_clear (msg);
+ p11_rpc_buffer_free (buf);
return ret;
}
diff --git a/p11-kit/test-uri.c b/p11-kit/test-uri.c
index 32e8da703..18b7a108a 100644
--- a/p11-kit/test-uri.c
+++ b/p11-kit/test-uri.c
@@ -1019,7 +1019,7 @@ test_uri_get_set_unrecognized (void)
static void
test_uri_match_token (void)
{
- CK_TOKEN_INFO token;
+ CK_TOKEN_INFO token = { 0 };
P11KitUri *uri;
int ret;
@@ -1056,7 +1056,7 @@ test_uri_match_token (void)
static void
test_uri_match_module (void)
{
- CK_INFO info;
+ CK_INFO info = { 0 };
P11KitUri *uri;
int ret;
diff --git a/trust/test-trust.c b/trust/test-trust.c
index 29b2797b5..3b27a1f31 100644
--- a/trust/test-trust.c
+++ b/trust/test-trust.c
@@ -258,7 +258,7 @@ test_check_symlink_msg (const char *file,
if (asprintf (&filename, "%s/%s", directory, name) < 0)
assert_not_reached ();
- if (readlink (filename, buf, sizeof (buf)) < 0)
+ if (readlink (filename, buf, sizeof (buf) - 1) < 0)
p11_test_fail (file, line, function, "Couldn't read symlink: %s", filename);
if (strcmp (destination, buf) != 0)

@ -1,6 +1,16 @@
## START: Set by rpmautospec
## (rpmautospec version 0.6.5)
## RPMAUTOSPEC: autorelease, autochangelog
%define autorelease(e:s:pb:n) %{?-p:0.}%{lua:
release_number = 7;
base_release_number = tonumber(rpm.expand("%{?-b*}%{!?-b:1}"));
print(release_number + base_release_number - 1);
}%{?-e:.%{-e*}}%{?-s:.%{-s*}}%{!?-n:%{?dist}}
## END: Set by rpmautospec
# This spec file has been automatically updated
Version: 0.25.3
Release: 3%{?dist}
Version: 0.25.5
Release: %{?autorelease}%{!?autorelease:1%{?dist}}
Name: p11-kit
Summary: Library for loading and sharing PKCS#11 modules
@ -12,7 +22,6 @@ Source2: https://p11-glue.github.io/p11-glue/p11-kit/p11-kit-release-keyr
Source3: trust-extract-compat
Source4: p11-kit-client.service
Patch: 001-static-analysis.patch
Patch: p11-kit-0.25.5-trust-file-length.patch
BuildRequires: gcc
@ -155,26 +164,84 @@ fi
%changelog
* Fri Oct 25 2024 Zoltan Fridrich <zfridric@redhat.com> - 0.25.3-3
## START: Generated by rpmautospec
* Fri Nov 01 2024 Miluse Bezo Konecna <mbezokon@redhat.com> - 0.25.5-7
- fix typo in ci.fmf
* Tue Oct 29 2024 Troy Dawson <tdawson@redhat.com> - 0.25.5-6
- Bump release for October 2024 mass rebuild:
* Fri Oct 25 2024 MSVSphere Packaging Team <packager@msvsphere-os.ru> - 0.25.5-5
- Rebuilt for MSVSphere 10
* Fri Oct 25 2024 Zoltan Fridrich <zfridric@redhat.com> - 0.25.5-5
- Fix regression in trust where file creation fails for long cert labels
Resolves: RHEL-64917
* Thu Nov 23 2023 Zoltan Fridrich <zfridric@redhat.com> - 0.25.3-2
* Tue Jul 30 2024 Miluse Bezo Konecna <mbezokon@redhat.com> - 0.25.5-4
- Fix gating.yaml
* Fri Jul 19 2024 Miluse Bezo Konecna <mbezokon@redhat.com> - 0.25.5-3
- add gating RHEL-10
* Thu Jul 11 2024 Zoltan Fridrich <zfridric@redhat.com> - 0.25.5-2
- Add gating.yaml
* Wed Jul 10 2024 Zoltan Fridrich <zfridric@redhat.com> - 0.25.5-1
- Rebase to 0.25.5
* Mon Jun 24 2024 Troy Dawson <tdawson@redhat.com> - 0.25.3-9
- Bump release for June 2024 mass rebuild
* Tue May 28 2024 Zoltan Fridrich <zfridric@redhat.com> - 0.25.3-8
- Remove tests and packit from repo
* Tue May 21 2024 Zoltan Fridrich <zfridric@redhat.com> - 0.25.3-7
- Fix a bug where eddsa mechanism isnt recognized in generate-keypair
* Tue May 21 2024 Zoltan Fridrich <zfridric@redhat.com> - 0.25.3-6
- Fix issues found by static analysis
Related: RHEL-14834
* Wed Nov 15 2023 Zoltan Fridrich <zfridric@redhat.com> - 0.25.3-1
- Update to new upstream release 0.25.3
Resolves: RHEL-14834
* Tue May 21 2024 Zoltan Fridrich <zfridric@redhat.com> - 0.25.3-5
- Fix usage message in p11-kit list-tokens command
* Wed Jan 31 2024 Daiki Ueno <dueno@redhat.com> - 0.25.3-4
- import-object: Avoid integer truncation on 32-bit platforms
* Thu Jan 25 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.25.3-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Sun Jan 21 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.25.3-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Wed Nov 15 2023 Packit <hello@packit.dev> - 0.25.3-1
- [packit] 0.25.3 upstream release
* Wed Nov 8 2023 Zoltan Fridrich <zfridric@redhat.com> - 0.25.2-1
- Update to new upstream release 0.25.2
Resolves: RHEL-14834
- Add IBM specific mechanisms and attributes
Resolves: RHEL-10570
* Wed Nov 08 2023 Zoltan Fridrich <zfridric@redhat.com> - 0.25.2-2
- Replace "black list" with "blocklist" in package description
* Tue Feb 1 2022 Daiki Ueno <dueno@redhat.com> - 0.24.1-2
- Replace "black list" with "blocklist" in -trust subpackage description (#2026457)
* Tue Oct 31 2023 Packit <hello@packit.dev> - 0.25.2-1
- [packit] 0.25.2 upstream release
* Thu Oct 26 2023 Packit <hello@packit.dev> - 0.25.1-1
- [packit] 0.25.1 upstream release
* Thu Aug 24 2023 Daiki Ueno <dueno@redhat.com> - 0.25.0-3
- Migrate License field to SPDX license identifier
* Fri Jul 14 2023 Packit <hello@packit.dev> - 0.25.0-1
- [packit] 0.25.0 upstream release
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 0.24.1-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Mon Dec 12 2022 Florian Weimer <fweimer@redhat.com> - 0.24.1-5
- Port meson build script to C99
* Fri Jul 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0.24.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0.24.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Mon Jan 17 2022 Packit Service <user-cont-team+packit-service@redhat.com> - 0.24.1-1
- Release 0.24.1 (Daiki Ueno)
@ -196,100 +263,11 @@ fi
- Meson: Add libtasn1 to trust programs (Issam E. Maghni)
- meson: optionalise glib's development files for gtk_doc (Đoàn Trần Công Danh)
* Wed Aug 18 2021 DJ Delorie <dj@redhat.com> - 0.24.0-4
- Rebuilt for libffi 3.4.2 SONAME transition.
Related: rhbz#1891914
* Mon Aug 09 2021 Mohan Boddu <mboddu@redhat.com> - 0.24.0-3
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
Related: rhbz#1991688
* Sat Jan 08 2022 Miro Hrončok <mhroncok@redhat.com> - 0.23.22-5
- Rebuilt for https://fedoraproject.org/wiki/Changes/LIBFFI34
* Tue Jul 13 2021 Daiki Ueno <dueno@redhat.com> - 0.24.0-2
- Rebuild with newer GCC to fix annocheck failures
* Thu Jun 03 2021 Packit Service <user-cont-team+packit-service@redhat.com> - 0.24.0-1
- common: Only check strndup behavior when replacement is used (Daiki Ueno)
- Release 0.24.0 (Daiki Ueno)
- Release 0.23.22 (Daiki Ueno)
- rpc: Tighten attribute array check with manual enumeration (Daiki Ueno)
- Check for SUN_LEN and provide fallback (Claes Nästén)
- Do not define _XOPEN_SOURCE in compat.c on Solaris (Claes Nästén)
- make autogen.sh a bit more portable (Claes Nästén)
- rpc-server: Disable parsing CKF_ARRAY_ATTRIBUTE (Daiki Ueno)
- Update README.md (Daiki Ueno)
- README.md: Suggest using only meson sub-commands instead of ninja (Daiki Ueno)
- p11-kit: Add missing <limits.h> include for SIZE_MAX (Daiki Ueno)
- packit: drop synced_files (Tomas Tomecek)
- packit: fedora renamed master branch to rawhide (Tomas Tomecek)
- Fix minor typo (Yuri Chornoivan)
- po: Add trust/trust.c to POTFILES.in (Daiki Ueno)
- po: Update POTFILES.in (Daiki Ueno)
- trust: Make more strings translatable (Daiki Ueno)
- p11-kit: Make more strings translatable (Daiki Ueno)
- common: Enable message translation in p11_tool_main (Daiki Ueno)
- meson: Make sure to set PROJECT_NAME and ENABLE_NLS for 'nls' option (Daiki Ueno)
- build: Add fuzz/meson.build in the distribution (Daiki Ueno)
- fuzz: Move the directory out of build/ (Daiki Ueno)
- Release all library/mock resources before exit (David Cook)
- Add separate oss-fuzz Makefile target (David Cook)
- Add build targets for future additional fuzzers (David Cook)
- Build fuzzer target from meson/ninja (David Cook)
- Explicit dependency for virtual-fixed-generated.h (David Cook)
- Build fuzzer target from automake (David Cook)
- rpc_fuzzer: Clean up buffer before exit (David Cook)
- New set of fuzzer seeds (David Cook)
- github: Remove unnecessary SRCDIR envvar (Daiki Ueno)
- github: Use runuser instead of su for building and testing (Daiki Ueno)
- github: Use composite action to simplify the main recipe (Daiki Ueno)
- github: Use pre-built container image for building (Daiki Ueno)
- README.md: Add GitHub workflow status (Daiki Ueno)
- travis: Remove configurations other than FreeBSD (Daiki Ueno)
- autotools: Fix for VPATH build (Daiki Ueno)
- github actions: Initial CI setup (Anderson Toshiyuki Sasaki)
- modules: p11_kit_initialize_module: Remove redundant module unref (Daiki Ueno)
- server: Account for NUL byte at the end of Unix domain socket path (Daiki Ueno)
- compat: Expose FreeBSD specific issetugid, getresuid, and getresgid (Daiki Ueno)
- compat: Remove <unistd.h> inclusion from compat.h (Daiki Ueno)
- compat: Avoid unused variables warning in fdwalk emulation (Daiki Ueno)
- compat: Pacify ASan complaints on intentionally leaked buffer (Daiki Ueno)
- meson: Link trust/client modules explicitly to -ldl (Daiki Ueno)
- p11-kit/lists.c: Add stdint.h to fix compilation (Daniel Engberg)
- Follow-up to arithmetic overflow fix (David Cook)
- Check for arithmetic overflows before allocating (David Cook)
- Check attribute length against buffer size (David Cook)
- Fix bounds check in p11_rpc_buffer_get_byte_array (David Cook)
- Fix buffer overflow in log_token_info (David Cook)
- common: Don't assume __STDC_VERSION__ is always defined (Daiki Ueno)
- compat: getauxval: correct compiler macro for FreeBSD (Daiki Ueno)
- compat: fdwalk: add guard for Linux specific local variables (Daiki Ueno)
- meson: Add missing libtasn1 dependency (Daiki Ueno)
- travis: Add freebsd build (Daiki Ueno)
- anchor: Prefer persistent format when storing anchor (Daiki Ueno)
- travis: Run "make check" along with "make distcheck" for coverage (Daiki Ueno)
- travis: Use python3 as the default Python interpreter (Daiki Ueno)
- travis: Route to Ubuntu 20.04 base image (Daiki Ueno)
- meson: Set -fstack-protector for MinGW64 cross build (Daiki Ueno)
- meson: expand ternary operator in function call for compatibility (Daiki Ueno)
- meson: Use custom_target for generating external XML entities (Daiki Ueno)
- meson: Allow building manpages without gtk-doc (Jan Alexander Steffens (heftig))
- Rename is_path_component to is_path_separator (Alexander Sosedkin)
- Use is_path_component in one more place (Alexander Sosedkin)
- Remove more duplicate separators in p11_path_build (Alexander Sosedkin)
- common: Fix infloop in p11_path_build (Daiki Ueno)
- Use inclusive language on certificate distrust (Daiki Ueno)
- proxy: C_CloseAllSessions: Make sure that calloc args are non-zero (Daiki Ueno)
- build: Use calloc in a consistent manner (Daiki Ueno)
- meson: Allow override of default bashcompdir. Fixes meson regression (issue #322). Pass -Dbashcompdir=/xxx to meson. (John Hein)
- common: Check for a NULL locale before freeing it (Tavian Barnes)
- p11_test_copy_setgid: Skip setgid tests on nosuid filesystems (Anders Kaseorg)
- unix-peer: replace incorrect include1 (Rosen Penev)
- test-compat: Skip getprogname test if BUILDDIR contains a symlink (Daiki Ueno)
- add trust-extract-compat into EXTRA-DIST (X Ruoyao)
- meson: install trust-extract-compat (X Ruoyao)
- rename trust-extract-compat.in to trust-extract-compat (X Ruoyao)
* Fri Apr 16 2021 Mohan Boddu <mboddu@redhat.com> - 0.23.22-4
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
* Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.23.22-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Tue Jan 26 2021 Daiki Ueno <dueno@redhat.com> - 0.23.22-3
- Suppress intentional memleak in getprogname emulation (#1905581)
@ -623,3 +601,5 @@ fi
* Tue Jul 12 2011 Kalev Lember <kalevlember@gmail.com> - 0.2-1
- Initial RPM release
## END: Generated by rpmautospec

Loading…
Cancel
Save