mirror of
https://github.com/MariaDB/server.git
synced 2025-08-08 11:22:35 +03:00
Bug #28178776 COMPARISON OF UNINITAILIZED MEMORY IN LOG_IN_USE
PROBLEM ------- Memory sanitizer reports uninitialized comparisons in log_in_use(), because strings are compared with memcmp() instead of strncmp. FIX --- Use strncmp() to compare strings
This commit is contained in:
committed by
Sergei Golubchik
parent
942a6bd009
commit
6de2928d5b
@@ -1,5 +1,5 @@
|
||||
/* Copyright (c) 2000, 2016, Oracle and/or its affiliates.
|
||||
Copyright (c) 2009, 2016, MariaDB
|
||||
/* Copyright (c) 2000, 2018, Oracle and/or its affiliates.
|
||||
Copyright (c) 2009, 2019, MariaDB Corporation
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
@@ -3413,7 +3413,7 @@ int MYSQL_BIN_LOG::find_log_pos(LOG_INFO *linfo, const char *log_name,
|
||||
// if the log entry matches, null string matching anything
|
||||
if (!log_name ||
|
||||
(log_name_len == fname_len-1 && full_fname[log_name_len] == '\n' &&
|
||||
!memcmp(full_fname, full_log_name, log_name_len)))
|
||||
!strncmp(full_fname, full_log_name, log_name_len)))
|
||||
{
|
||||
DBUG_PRINT("info", ("Found log file entry"));
|
||||
full_fname[fname_len-1]= 0; // remove last \n
|
||||
|
@@ -1,5 +1,5 @@
|
||||
/* Copyright (c) 2000, 2017, Oracle and/or its affiliates.
|
||||
Copyright (c) 2008, 2017, MariaDB Corporation
|
||||
/* Copyright (c) 2000, 2018, Oracle and/or its affiliates.
|
||||
Copyright (c) 2008, 2019, MariaDB Corporation
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
@@ -365,7 +365,7 @@ bool log_in_use(const char* log_name)
|
||||
if ((linfo = tmp->current_linfo))
|
||||
{
|
||||
mysql_mutex_lock(&linfo->lock);
|
||||
result = !memcmp(log_name, linfo->log_file_name, log_name_len);
|
||||
result = !strncmp(log_name, linfo->log_file_name, log_name_len);
|
||||
mysql_mutex_unlock(&linfo->lock);
|
||||
if (result)
|
||||
break;
|
||||
|
Reference in New Issue
Block a user