1
0
mirror of https://github.com/systemd/systemd.git synced 2025-02-08 09:57:41 +03:00

Merge pull request #30400 from bluca/coverity

Assorted coverity fixes
This commit is contained in:
Yu Watanabe 2023-12-10 14:07:37 +09:00 committed by GitHub
commit 3a4e3d4f9e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 13 additions and 8 deletions

View File

@ -1201,7 +1201,7 @@ static void mount_enter_mounting(Mount *m) {
log_unit_warning_errno(UNIT(m), r, "Failed to create mount point '%s', ignoring: %m", m->where);
/* If we are asked to create an OverlayFS, create the upper/work directories if they are missing */
if (streq_ptr(p->fstype, "overlay")) {
if (p && streq_ptr(p->fstype, "overlay")) {
_cleanup_strv_free_ char **dirs = NULL;
r = fstab_filter_options(

View File

@ -22,6 +22,7 @@
#include "fileio.h"
#include "glob-util.h"
#include "hostname-util.h"
#include "journal-remote.h"
#include "log.h"
#include "logs-show.h"
#include "main-func.h"
@ -431,6 +432,11 @@ static int request_parse_range(
if (!range)
return 0;
/* Safety upper bound to make Coverity happy. Apache2 has a default limit of 8KB:
* https://httpd.apache.org/docs/2.2/mod/core.html#limitrequestfieldsize */
if (strlen(range) > JOURNAL_SERVER_MEMORY_MAX)
return -EINVAL;
m->n_skip = 0;
range_after_eq = startswith(range, "entries=");
if (range_after_eq) {

View File

@ -374,7 +374,7 @@ static int setup_microhttpd_server(RemoteServer *s,
{ MHD_OPTION_EXTERNAL_LOGGER, (intptr_t) microhttpd_logger},
{ MHD_OPTION_NOTIFY_COMPLETED, (intptr_t) request_meta_free},
{ MHD_OPTION_LISTEN_SOCKET, fd},
{ MHD_OPTION_CONNECTION_MEMORY_LIMIT, 128*1024},
{ MHD_OPTION_CONNECTION_MEMORY_LIMIT, JOURNAL_SERVER_MEMORY_MAX},
{ MHD_OPTION_END},
{ MHD_OPTION_END},
{ MHD_OPTION_END},

View File

@ -48,6 +48,9 @@ struct RemoteServer {
};
extern RemoteServer *journal_remote_server_global;
/* Used for MHD_OPTION_CONNECTION_MEMORY_LIMIT and header parsing cap */
#define JOURNAL_SERVER_MEMORY_MAX 128U * 1024U
int journal_remote_server_init(
RemoteServer *s,
const char *output,

View File

@ -169,7 +169,7 @@ HandleAction handle_action_sleep_select(HandleActionSleepMask mask) {
if (!FLAGS_SET(mask, a))
continue;
if (sleep_supported(handle_action_lookup(*i)->sleep_operation) > 0)
if (sleep_supported(ASSERT_PTR(handle_action_lookup(*i))->sleep_operation) > 0)
return *i;
}
@ -213,7 +213,7 @@ static int handle_action_execute(
inhibit_what_to_string(m->delayed_action->inhibit_what),
handle_action_to_string(handle));
inhibit_operation = handle_action_lookup(handle)->inhibit_what;
inhibit_operation = ASSERT_PTR(handle_action_lookup(handle))->inhibit_what;
/* If the actual operation is inhibited, warn and fail */
if (inhibit_what_is_valid(inhibit_operation) &&

View File

@ -11,9 +11,6 @@ static void test_sleep_handle_action(void) {
const HandleActionData *data;
const char *sleep_operation_str, *handle_action_str;
if (action == HANDLE_SLEEP)
continue;
assert_se(data = handle_action_lookup(action));
assert_se(handle_action_str = handle_action_to_string(action));

View File

@ -135,7 +135,6 @@ static int output_units_list(const UnitInfo *unit_infos, size_t c) {
if (streq(u->load_state, "not-found")) {
on_circle = on_loaded = ansi_highlight_yellow();
on_circle = ansi_highlight_yellow();
circle = true;
} else if (STR_IN_SET(u->load_state, "bad-setting", "error", "masked")) {
on_loaded = ansi_highlight_red();