Report error details when json_load_file() fails

This commit is contained in:
Sergio Correia 2022-12-07 08:05:30 -03:00
parent a41e11bb91
commit 0c7a47300d
No known key found for this signature in database
GPG Key ID: D0D219ED1F7E762C
2 changed files with 42 additions and 1 deletions

View File

@ -0,0 +1,36 @@
From dac0dd6f729ed6cbdd4c92f5a8b2f5e1c66127fb Mon Sep 17 00:00:00 2001
From: Barry <barry@barrys-emacs.org>
Date: Fri, 25 Nov 2022 16:36:26 +0000
Subject: [PATCH] When json_load_file fails report the error details
information (#103)
* When json_load_file fails report the error details information returned.
This allows for file I/O issues as well as JSON parsing issues
to be reported.
---
src/keys.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/src/keys.c b/src/keys.c
index 205bbe5..bbfc374 100644
--- a/src/keys.c
+++ b/src/keys.c
@@ -369,9 +369,12 @@ load_keys(const char* jwkdir)
continue;
}
filepath[sizeof(filepath) - 1] = '\0';
- json_auto_t* json = json_load_file(filepath, 0, NULL);
+ json_error_t error;
+ json_auto_t* json = json_load_file(filepath, 0, &error);
if (!json) {
- fprintf(stderr, "Invalid JSON file (%s); skipping\n", filepath);
+ fprintf(stderr, "Cannot load JSON file (%s); skipping\n", filepath);
+ fprintf(stderr, "error text %s, line %d, col %d, pos %d\n",
+ error.text, error.line, error.column, error.position);
continue;
}
--
2.38.1

View File

@ -1,6 +1,6 @@
Name: tang Name: tang
Version: 11 Version: 11
Release: 4%{?dist} Release: 5%{?dist}
Summary: Network Presence Binding Daemon Summary: Network Presence Binding Daemon
License: GPLv3+ License: GPLv3+
@ -8,6 +8,8 @@ URL: https://github.com/latchset/%{name}
Source0: https://github.com/latchset/%{name}/releases/download/v%{version}/%{name}-%{version}.tar.xz Source0: https://github.com/latchset/%{name}/releases/download/v%{version}/%{name}-%{version}.tar.xz
Source1: tang.sysusers Source1: tang.sysusers
Patch: 0001-When-json_load_file-fails-report-the-error-details-i.patch
BuildRequires: gcc BuildRequires: gcc
BuildRequires: meson BuildRequires: meson
BuildRequires: git-core BuildRequires: git-core
@ -98,6 +100,9 @@ fi
%{_sysusersdir}/tang.conf %{_sysusersdir}/tang.conf
%changelog %changelog
* Wed Dec 07 2022 Sergio Correia <scorreia@redhat.com> - 11-5
- Report error details when json_load_file() fails
* Wed Aug 17 2022 Sergio Arroutbi <sarroutb@redhat.com> - 11-4 * Wed Aug 17 2022 Sergio Arroutbi <sarroutb@redhat.com> - 11-4
- Adopt systemd-sysusers format - Adopt systemd-sysusers format