Skip to content

Commit 18e9c31

Browse files
committed
MDEV-6650 - LINT_INIT emits code in non-debug builds
Replaced all references to LINT_INIT with UNINIT_VAR and LINT_INIT_STRUCT. Removed LINT_INIT macro.
1 parent 10554ca commit 18e9c31

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

59 files changed

+87
-214
lines changed

BUILD/SETUP.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -157,8 +157,8 @@ fi
157157
# Set flags for various build configurations.
158158
# Used in -valgrind builds
159159
# Override -DFORCE_INIT_OF_VARS from debug_cflags. It enables the macro
160-
# LINT_INIT(), which is only useful for silencing spurious warnings
161-
# of static analysis tools. We want LINT_INIT() to be a no-op in Valgrind.
160+
# UNINIT_VAR(), which is only useful for silencing spurious warnings
161+
# of static analysis tools. We want UNINIT_VAR() to be a no-op in Valgrind.
162162
valgrind_flags="-DHAVE_valgrind -USAFEMALLOC"
163163
valgrind_flags="$valgrind_flags -UFORCE_INIT_OF_VARS -Wno-uninitialized"
164164
valgrind_flags="$valgrind_flags -DMYSQL_SERVER_SUFFIX=-valgrind-max"

client/mysql.cc

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3040,9 +3040,7 @@ static int com_server_help(String *buffer __attribute__((unused)),
30403040
init_pager();
30413041
char last_char= 0;
30423042

3043-
int num_name= 0, num_cat= 0;
3044-
LINT_INIT(num_name);
3045-
LINT_INIT(num_cat);
3043+
int UNINIT_VAR(num_name), UNINIT_VAR(num_cat);
30463044

30473045
if (num_fields == 2)
30483046
{
@@ -3179,7 +3177,7 @@ com_go(String *buffer,char *line __attribute__((unused)))
31793177
}
31803178

31813179
/* Remove garbage for nicer messages */
3182-
LINT_INIT(buff[0]);
3180+
LINT_INIT_STRUCT(buff[0]);
31833181
remove_cntrl(*buffer);
31843182

31853183
if (buffer->is_empty())
@@ -4698,8 +4696,7 @@ com_status(String *buffer __attribute__((unused)),
46984696
const char *status_str;
46994697
char buff[40];
47004698
ulonglong id;
4701-
MYSQL_RES *result;
4702-
LINT_INIT(result);
4699+
MYSQL_RES *UNINIT_VAR(result);
47034700

47044701
if (mysql_real_query_for_lazy(
47054702
C_STRING_WITH_LEN("select DATABASE(), USER() limit 1")))
@@ -5258,8 +5255,7 @@ static void init_username()
52585255
my_free(full_username);
52595256
my_free(part_username);
52605257

5261-
MYSQL_RES *result;
5262-
LINT_INIT(result);
5258+
MYSQL_RES *UNINIT_VAR(result);
52635259
if (!mysql_query(&mysql,"select USER()") &&
52645260
(result=mysql_use_result(&mysql)))
52655261
{

client/mysqltest.cc

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2617,12 +2617,11 @@ void var_query_set(VAR *var, const char *query, const char** query_end)
26172617
{
26182618
char *end = (char*)((query_end && *query_end) ?
26192619
*query_end : query + strlen(query));
2620-
MYSQL_RES *res;
2620+
MYSQL_RES *UNINIT_VAR(res);
26212621
MYSQL_ROW row;
26222622
MYSQL* mysql = cur_con->mysql;
26232623
DYNAMIC_STRING ds_query;
26242624
DBUG_ENTER("var_query_set");
2625-
LINT_INIT(res);
26262625

26272626
if (!mysql)
26282627
{
@@ -2801,7 +2800,7 @@ void var_set_query_get_value(struct st_command *command, VAR *var)
28012800
{
28022801
long row_no;
28032802
int col_no= -1;
2804-
MYSQL_RES* res;
2803+
MYSQL_RES* UNINIT_VAR(res);
28052804
MYSQL* mysql= cur_con->mysql;
28062805

28072806
static DYNAMIC_STRING ds_query;
@@ -2814,7 +2813,6 @@ void var_set_query_get_value(struct st_command *command, VAR *var)
28142813
};
28152814

28162815
DBUG_ENTER("var_set_query_get_value");
2817-
LINT_INIT(res);
28182816

28192817
if (!mysql)
28202818
{

client/readline.cc

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,8 +57,7 @@ LINE_BUFFER *batch_readline_init(ulong max_size,FILE *file)
5757
char *batch_readline(LINE_BUFFER *line_buff, bool binary_mode)
5858
{
5959
char *pos;
60-
ulong out_length;
61-
LINT_INIT(out_length);
60+
ulong UNINIT_VAR(out_length);
6261

6362
if (!(pos=intern_read_line(line_buff, &out_length)))
6463
return 0;

include/my_global.h

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -457,19 +457,6 @@ extern "C" int madvise(void *addr, size_t len, int behav);
457457
#define STDERR_FILENO 2
458458
#endif
459459

460-
/*
461-
Deprecated workaround for false-positive uninitialized variables
462-
warnings. Those should be silenced using tool-specific heuristics.
463-
464-
Enabled by default for g++ due to the bug referenced below.
465-
*/
466-
#if defined(_lint) || defined(FORCE_INIT_OF_VARS) || \
467-
(defined(__GNUC__) && defined(__cplusplus))
468-
#define LINT_INIT(var) var= 0
469-
#else
470-
#define LINT_INIT(var)
471-
#endif
472-
473460
#ifndef SO_EXT
474461
#ifdef _WIN32
475462
#define SO_EXT ".dll"

libmysql/libmysql.c

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -859,12 +859,11 @@ mysql_list_fields(MYSQL *mysql, const char *table, const char *wild)
859859
MYSQL_RES * STDCALL
860860
mysql_list_processes(MYSQL *mysql)
861861
{
862-
MYSQL_DATA *fields;
862+
MYSQL_DATA *UNINIT_VAR(fields);
863863
uint field_count;
864864
uchar *pos;
865865
DBUG_ENTER("mysql_list_processes");
866866

867-
LINT_INIT(fields);
868867
if (simple_command(mysql,COM_PROCESS_INFO,0,0,0))
869868
DBUG_RETURN(0);
870869
free_old_query(mysql);

mysys/stacktrace.c

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -315,12 +315,11 @@ inline uint32* find_prev_pc(uint32* pc, uchar** fp)
315315

316316
void my_print_stacktrace(uchar* stack_bottom, ulong thread_stack)
317317
{
318-
uchar** fp;
318+
uchar** UNINIT_VAR(fp);
319319
uint frame_count = 0, sigreturn_frame_count;
320320
#if defined(__alpha__) && defined(__GNUC__)
321321
uint32* pc;
322322
#endif
323-
LINT_INIT(fp);
324323

325324

326325
#ifdef __i386__

plugin/semisync/semisync_master.cc

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1050,8 +1050,6 @@ int ReplSemiSyncMaster::readSlaveReply(NET *net, uint32 server_id,
10501050
ulong trc_level = trace_level_;
10511051
LINT_INIT_STRUCT(start_ts);
10521052

1053-
LINT_INIT_STRUCT(start_ts);
1054-
10551053
function_enter(kWho);
10561054

10571055
assert((unsigned char)event_buf[1] == kPacketMagicNum);

sql-common/client.c

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3211,7 +3211,7 @@ CLI_MYSQL_REAL_CONNECT(MYSQL *mysql,const char *host, const char *user,
32113211
uint port, const char *unix_socket,ulong client_flag)
32123212
{
32133213
char buff[NAME_LEN+USERNAME_LENGTH+100];
3214-
int scramble_data_len, pkt_scramble_len= 0;
3214+
int scramble_data_len, UNINIT_VAR(pkt_scramble_len);
32153215
char *end,*host_info= 0, *server_version_end, *pkt_end;
32163216
char *scramble_data;
32173217
const char *scramble_plugin;
@@ -3224,7 +3224,6 @@ CLI_MYSQL_REAL_CONNECT(MYSQL *mysql,const char *host, const char *user,
32243224
struct sockaddr_un UNIXaddr;
32253225
#endif
32263226
DBUG_ENTER("mysql_real_connect");
3227-
LINT_INIT(pkt_scramble_len);
32283227

32293228
DBUG_PRINT("enter",("host: %s db: %s user: %s (client)",
32303229
host ? host : "(Null)",

sql/create_options.cc

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -762,9 +762,8 @@ engine_option_value *merge_engine_table_options(engine_option_value *first,
762762
engine_option_value *second,
763763
MEM_ROOT *root)
764764
{
765-
engine_option_value *end, *opt;
765+
engine_option_value *UNINIT_VAR(end), *opt;
766766
DBUG_ENTER("merge_engine_table_options");
767-
LINT_INIT(end);
768767

769768
/* Create copy of first list */
770769
for (opt= first, first= 0; opt; opt= opt->next)

0 commit comments

Comments
 (0)