Fixed errors reported by valgrind

Fixed errors reported by valgrind
This commit is contained in:
MassimilianoPinto
2015-09-15 15:49:41 +02:00
parent a2d91678c7
commit 6b05176684
2 changed files with 30 additions and 17 deletions

View File

@ -1790,7 +1790,7 @@ char *service_passwd = NULL;
int int
blr_load_dbusers(ROUTER_INSTANCE *router) blr_load_dbusers(ROUTER_INSTANCE *router)
{ {
int loaded; int loaded = -1;
char path[PATH_MAX+1] = ""; char path[PATH_MAX+1] = "";
SERVICE *service; SERVICE *service;
service = router->service; service = router->service;
@ -1865,7 +1865,7 @@ blr_save_dbusers(ROUTER_INSTANCE *router)
{ {
SERVICE *service; SERVICE *service;
char path[PATH_MAX+1] = ""; char path[PATH_MAX+1] = "";
int mkdir_rval; int mkdir_rval = 0;
service = router->service; service = router->service;

View File

@ -401,7 +401,10 @@ extern char *strcasestr();
return blr_slave_send_var_value(router, slave, "@@version", router->set_master_version, BLR_TYPE_STRING); return blr_slave_send_var_value(router, slave, "@@version", router->set_master_version, BLR_TYPE_STRING);
else { else {
char *version = blr_extract_column(router->saved_master.selectver, 1); char *version = blr_extract_column(router->saved_master.selectver, 1);
return blr_slave_send_var_value(router, slave, "@@version", version == NULL ? "" : version, BLR_TYPE_STRING);
blr_slave_send_var_value(router, slave, "@@version", version == NULL ? "" : version, BLR_TYPE_STRING);
free(version);
return 1;
} }
} }
else if (strcasecmp(word, "@@version_comment") == 0) else if (strcasecmp(word, "@@version_comment") == 0)
@ -428,7 +431,9 @@ extern char *strcasestr();
return blr_slave_send_var_value(router, slave, "@@server_uuid", router->master_uuid, BLR_TYPE_STRING); return blr_slave_send_var_value(router, slave, "@@server_uuid", router->master_uuid, BLR_TYPE_STRING);
else { else {
char *master_uuid = blr_extract_column(router->saved_master.uuid, 2); char *master_uuid = blr_extract_column(router->saved_master.uuid, 2);
return blr_slave_send_var_value(router, slave, "@@server_uuid", master_uuid == NULL ? "" : master_uuid, BLR_TYPE_STRING); blr_slave_send_var_value(router, slave, "@@server_uuid", master_uuid == NULL ? "" : master_uuid, BLR_TYPE_STRING);
free(master_uuid);
return 1;
} }
} }
else if (strcasecmp(word, "@@max_allowed_packet") == 0) else if (strcasecmp(word, "@@max_allowed_packet") == 0)
@ -494,8 +499,14 @@ extern char *strcasestr();
} }
else if (strcasecmp(word, "STATUS") == 0) else if (strcasecmp(word, "STATUS") == 0)
{ {
int rc = blr_slave_handle_status_variables(router, slave, brkb);
/* if no var found, send empty result set */
if (rc == 0)
blr_slave_send_ok(router, slave);
free(query_text); free(query_text);
return blr_slave_handle_status_variables(router, slave, brkb); return 1;
} }
} }
else if (strcasecmp(word, "VARIABLES") == 0) else if (strcasecmp(word, "VARIABLES") == 0)
@ -570,8 +581,14 @@ extern char *strcasestr();
} }
else if (strcasecmp(word, "STATUS") == 0) else if (strcasecmp(word, "STATUS") == 0)
{ {
int rc = blr_slave_handle_status_variables(router, slave, brkb);
/* if no var found, send empty result set */
if (rc == 0)
blr_slave_send_ok(router, slave);
free(query_text); free(query_text);
return blr_slave_handle_status_variables(router, slave, brkb); return 1;
} }
} }
else if (strcasecmp(query_text, "SET") == 0) else if (strcasecmp(query_text, "SET") == 0)
@ -3890,13 +3907,13 @@ char *word;
char *sep = " ,="; char *sep = " ,=";
if ((word = strtok_r(stmt, sep, &brkb)) == NULL) { if ((word = strtok_r(stmt, sep, &brkb)) == NULL) {
return 0; return -1;
} else if (strcasecmp(word, "LIKE") == 0) { } else if (strcasecmp(word, "LIKE") == 0) {
if ((word = strtok_r(NULL, sep, &brkb)) == NULL) { if ((word = strtok_r(NULL, sep, &brkb)) == NULL) {
LOGIF(LE, (skygw_log_write(LOGFILE_ERROR, LOGIF(LE, (skygw_log_write(LOGFILE_ERROR,
"%s: Missing LIKE clause in SHOW [GLOBAL] VARIABLES.", "%s: Missing LIKE clause in SHOW [GLOBAL] VARIABLES.",
router->service->name))); router->service->name)));
return 0; return -1;
} else if (strcasecmp(word, "'SERVER_ID'") == 0) { } else if (strcasecmp(word, "'SERVER_ID'") == 0) {
if (router->set_master_server_id) { if (router->set_master_server_id) {
char server_id[40]; char server_id[40];
@ -3911,10 +3928,6 @@ char *sep = " ,=";
return blr_slave_replay(router, slave, router->saved_master.uuid); return blr_slave_replay(router, slave, router->saved_master.uuid);
} else if (strcasecmp(word, "'MAXSCALE%'") == 0) { } else if (strcasecmp(word, "'MAXSCALE%'") == 0) {
return blr_slave_send_maxscale_variables(router, slave); return blr_slave_send_maxscale_variables(router, slave);
} else if (strcasecmp(word, "'Uptime'") == 0) {
char uptime[41]="";
snprintf(uptime, 40, "%d", MaxScaleUptime());
return blr_slave_send_variable(router, slave, "Uptime", uptime, BLR_TYPE_INT);
} else } else
return 0; return 0;
} else } else
@ -4065,19 +4078,19 @@ int level_len = 0;
*/ */
static int static int
blr_slave_handle_status_variables(ROUTER_INSTANCE *router, ROUTER_SLAVE *slave, char *stmt) { blr_slave_handle_status_variables(ROUTER_INSTANCE *router, ROUTER_SLAVE *slave, char *stmt) {
char *brkb; char *brkb = NULL;
char *word; char *word = NULL;
/* SPACE,TAB,= */ /* SPACE,TAB,= */
char *sep = " ,="; char *sep = " ,=";
if ((word = strtok_r(stmt, sep, &brkb)) == NULL) { if ((word = strtok_r(stmt, sep, &brkb)) == NULL) {
return 0; return -1;
} else if (strcasecmp(word, "LIKE") == 0) { } else if (strcasecmp(word, "LIKE") == 0) {
if ((word = strtok_r(NULL, sep, &brkb)) == NULL) { if ((word = strtok_r(NULL, sep, &brkb)) == NULL) {
LOGIF(LE, (skygw_log_write(LOGFILE_ERROR, LOGIF(LE, (skygw_log_write(LOGFILE_ERROR,
"%s: Missing LIKE clause in SHOW [GLOBAL] VARIABLES.", "%s: Missing LIKE clause in SHOW [GLOBAL] STATUS.",
router->service->name))); router->service->name)));
return 0; return -1;
} else if (strcasecmp(word, "'Uptime'") == 0) { } else if (strcasecmp(word, "'Uptime'") == 0) {
char uptime[41]=""; char uptime[41]="";
snprintf(uptime, 40, "%d", MaxScaleUptime()); snprintf(uptime, 40, "%d", MaxScaleUptime());