summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuca Bruno <luca.bruno@coreos.com>2021-11-12 15:19:29 +0000
committerGitHub <noreply@github.com>2021-11-12 15:19:29 +0000
commitedbcf5213419c3ec09ab40161a6c8ca8f99fa624 (patch)
treeca98a865034f8b31fe6246c87402f131d065fca0
parente39280ff211603b41c0524f04ca76674cb35101d (diff)
parent9c1fe55bbc15218e09fe3895aeb0ce9e185fc8d9 (diff)
downloadostree-edbcf5213419c3ec09ab40161a6c8ca8f99fa624.tar.gz
Merge pull request #2481 from refi64/null-error
lib: Avoid dereferencing NULL error values
-rw-r--r--src/libostree/ostree-repo-static-delta-core.c12
-rw-r--r--src/libostree/ostree-sign-ed25519.c10
2 files changed, 16 insertions, 6 deletions
diff --git a/src/libostree/ostree-repo-static-delta-core.c b/src/libostree/ostree-repo-static-delta-core.c
index d8c33b7c..084c20cd 100644
--- a/src/libostree/ostree-repo-static-delta-core.c
+++ b/src/libostree/ostree-repo-static-delta-core.c
@@ -457,9 +457,15 @@ ostree_repo_static_delta_execute_offline_with_signature (OstreeRepo *self,
if (sign)
{
- verified = _ostree_repo_static_delta_verify_signature (self, meta_fd, sign, NULL, error);
- if (*error)
- return FALSE;
+ g_autoptr(GError) local_error = NULL;
+
+ verified = _ostree_repo_static_delta_verify_signature (self, meta_fd, sign, NULL, &local_error);
+ if (local_error != NULL)
+ {
+ g_propagate_error (error, g_steal_pointer (&local_error));
+ return FALSE;
+ }
+
if (!verified)
return glnx_throw (error, "Delta signature verification failed");
}
diff --git a/src/libostree/ostree-sign-ed25519.c b/src/libostree/ostree-sign-ed25519.c
index d728afde..1eaff6a7 100644
--- a/src/libostree/ostree-sign-ed25519.c
+++ b/src/libostree/ostree-sign-ed25519.c
@@ -487,12 +487,16 @@ _load_pk_from_stream (OstreeSign *self,
while (TRUE)
{
gsize len = 0;
- g_autofree char *line = g_data_input_stream_read_line (key_data_in, &len, NULL, error);
g_autoptr (GVariant) pk = NULL;
gboolean added = FALSE;
+ g_autoptr(GError) local_error = NULL;
+ g_autofree char *line = g_data_input_stream_read_line (key_data_in, &len, NULL, &local_error);
- if (*error != NULL)
- return FALSE;
+ if (local_error != NULL)
+ {
+ g_propagate_error (error, g_steal_pointer (&local_error));
+ return FALSE;
+ }
if (line == NULL)
return ret;