Skip to content

Commit c6eeabe

Browse files
committed
dlt-user: fix invalid return in dlt_user_log_write_start_internal
dlt_user_log_write_start_internal might return OK when the buffer was not initalized, this can lead to other functions assuming that the buffer was setup correctly and thus access invalid memory. Signed-off-by: Alexander Mohr <alexander.m.mohr@mercedes-benz.com>
1 parent 603f0e4 commit c6eeabe

File tree

2 files changed

+10
-10
lines changed

2 files changed

+10
-10
lines changed

src/lib/dlt_user.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -1838,7 +1838,7 @@ DltReturnValue dlt_user_log_write_start_internal(DltContext *handle,
18381838
return DLT_RETURN_WRONG_PARAMETER;
18391839
} else if (ret == DLT_RETURN_LOGGING_DISABLED) {
18401840
log->handle = NULL;
1841-
return DLT_RETURN_OK;
1841+
return ret;
18421842
}
18431843

18441844
ret = dlt_user_log_write_start_init(handle, log, loglevel, is_verbose);

tests/gtest_dlt_user.cpp

+9-9
Original file line numberDiff line numberDiff line change
@@ -173,11 +173,11 @@ TEST(t_dlt_user_log_write_start, normal)
173173
EXPECT_LE(DLT_RETURN_OK, dlt_user_log_write_start(&context, &contextData, DLT_LOG_INFO));
174174
EXPECT_LE(DLT_RETURN_OK, dlt_user_log_write_finish(&contextData));
175175
/* To test the default behaviour and the default log level set to DLT_LOG_INFO */
176-
EXPECT_LE(DLT_RETURN_OK, dlt_user_log_write_start(&context, &contextData, DLT_LOG_OFF));
176+
EXPECT_LE(DLT_RETURN_LOGGING_DISABLED, dlt_user_log_write_start(&context, &contextData, DLT_LOG_OFF));
177177
EXPECT_LE(DLT_RETURN_WRONG_PARAMETER, dlt_user_log_write_finish(&contextData));
178-
EXPECT_LE(DLT_RETURN_OK, dlt_user_log_write_start(&context, &contextData, DLT_LOG_DEBUG));
178+
EXPECT_LE(DLT_RETURN_LOGGING_DISABLED, dlt_user_log_write_start(&context, &contextData, DLT_LOG_DEBUG));
179179
EXPECT_LE(DLT_RETURN_WRONG_PARAMETER, dlt_user_log_write_finish(&contextData));
180-
EXPECT_LE(DLT_RETURN_OK, dlt_user_log_write_start(&context, &contextData, DLT_LOG_VERBOSE));
180+
EXPECT_LE(DLT_RETURN_LOGGING_DISABLED, dlt_user_log_write_start(&context, &contextData, DLT_LOG_VERBOSE));
181181
EXPECT_LE(DLT_RETURN_WRONG_PARAMETER, dlt_user_log_write_finish(&contextData));
182182

183183
EXPECT_LE(DLT_RETURN_OK, dlt_unregister_context(&context));
@@ -268,11 +268,11 @@ TEST(t_dlt_user_log_write_start_id, normal)
268268
EXPECT_LE(DLT_RETURN_OK, dlt_user_log_write_start_id(&context, &contextData, DLT_LOG_INFO, messageid));
269269
EXPECT_LE(DLT_RETURN_OK, dlt_user_log_write_finish(&contextData));
270270
/* To test the default behaviour and the default log level set to DLT_LOG_INFO */
271-
EXPECT_LE(DLT_RETURN_OK, dlt_user_log_write_start_id(&context, &contextData, DLT_LOG_OFF, messageid));
271+
EXPECT_LE(DLT_RETURN_LOGGING_DISABLED, dlt_user_log_write_start_id(&context, &contextData, DLT_LOG_OFF, messageid));
272272
EXPECT_LE(DLT_RETURN_WRONG_PARAMETER, dlt_user_log_write_finish(&contextData));
273-
EXPECT_LE(DLT_RETURN_OK, dlt_user_log_write_start_id(&context, &contextData, DLT_LOG_DEBUG, messageid));
273+
EXPECT_LE(DLT_RETURN_LOGGING_DISABLED, dlt_user_log_write_start_id(&context, &contextData, DLT_LOG_DEBUG, messageid));
274274
EXPECT_LE(DLT_RETURN_WRONG_PARAMETER, dlt_user_log_write_finish(&contextData));
275-
EXPECT_LE(DLT_RETURN_OK, dlt_user_log_write_start_id(&context, &contextData, DLT_LOG_VERBOSE, messageid));
275+
EXPECT_LE(DLT_RETURN_LOGGING_DISABLED, dlt_user_log_write_start_id(&context, &contextData, DLT_LOG_VERBOSE, messageid));
276276
EXPECT_LE(DLT_RETURN_WRONG_PARAMETER, dlt_user_log_write_finish(&contextData));
277277

278278
messageid = UINT32_MAX;
@@ -287,11 +287,11 @@ TEST(t_dlt_user_log_write_start_id, normal)
287287
EXPECT_LE(DLT_RETURN_OK, dlt_user_log_write_start_id(&context, &contextData, DLT_LOG_INFO, messageid));
288288
EXPECT_LE(DLT_RETURN_OK, dlt_user_log_write_finish(&contextData));
289289
/* To test the default behaviour and the default log level set to DLT_LOG_INFO */
290-
EXPECT_LE(DLT_RETURN_OK, dlt_user_log_write_start_id(&context, &contextData, DLT_LOG_OFF, messageid));
290+
EXPECT_LE(DLT_RETURN_LOGGING_DISABLED, dlt_user_log_write_start_id(&context, &contextData, DLT_LOG_OFF, messageid));
291291
EXPECT_LE(DLT_RETURN_WRONG_PARAMETER, dlt_user_log_write_finish(&contextData));
292-
EXPECT_LE(DLT_RETURN_OK, dlt_user_log_write_start_id(&context, &contextData, DLT_LOG_DEBUG, messageid));
292+
EXPECT_LE(DLT_RETURN_LOGGING_DISABLED, dlt_user_log_write_start_id(&context, &contextData, DLT_LOG_DEBUG, messageid));
293293
EXPECT_LE(DLT_RETURN_WRONG_PARAMETER, dlt_user_log_write_finish(&contextData));
294-
EXPECT_LE(DLT_RETURN_OK, dlt_user_log_write_start_id(&context, &contextData, DLT_LOG_VERBOSE, messageid));
294+
EXPECT_LE(DLT_RETURN_LOGGING_DISABLED, dlt_user_log_write_start_id(&context, &contextData, DLT_LOG_VERBOSE, messageid));
295295
EXPECT_LE(DLT_RETURN_WRONG_PARAMETER, dlt_user_log_write_finish(&contextData));
296296

297297
EXPECT_LE(DLT_RETURN_OK, dlt_unregister_context(&context));

0 commit comments

Comments
 (0)