summaryrefslogtreecommitdiff
path: root/sql/wsrep_notify.cc
diff options
context:
space:
mode:
authorSergei Golubchik <serg@mariadb.org>2021-02-18 22:09:53 +0100
committerSergei Golubchik <serg@mariadb.org>2021-02-18 22:09:53 +0100
commit0d55b020e16fb0ab88547a28a22cb58eaa7fb229 (patch)
tree7f8e30aa40a986c49a69fbf10133f0c32b83ffcf /sql/wsrep_notify.cc
parent691f93d6d17603f11a0c90f64e94b7ce9d187db4 (diff)
parentce3a2a688db556d8d077a409fd9bf5cc013d13dd (diff)
downloadmariadb-git-0d55b020e16fb0ab88547a28a22cb58eaa7fb229.tar.gz
Merge branch 'bb-10.2-release' into bb-10.3-releasemariadb-10.3.28
Diffstat (limited to 'sql/wsrep_notify.cc')
-rw-r--r--sql/wsrep_notify.cc10
1 files changed, 7 insertions, 3 deletions
diff --git a/sql/wsrep_notify.cc b/sql/wsrep_notify.cc
index 4a8d2a392f9..ae85e4e7092 100644
--- a/sql/wsrep_notify.cc
+++ b/sql/wsrep_notify.cc
@@ -41,11 +41,13 @@ void wsrep_notify_status (wsrep_member_status_t status,
return;
}
- char cmd_buf[1 << 16]; // this can be long
- long cmd_len = sizeof(cmd_buf) - 1;
- char* cmd_ptr = cmd_buf;
+ const long cmd_len = (1 << 16) - 1;
+ char* cmd_ptr = (char*) my_malloc(cmd_len + 1, MYF(MY_WME));
long cmd_off = 0;
+ if (!cmd_ptr)
+ return; // the warning is in the log
+
cmd_off += snprintf (cmd_ptr + cmd_off, cmd_len - cmd_off, "%s",
wsrep_notify_cmd);
@@ -94,6 +96,7 @@ void wsrep_notify_status (wsrep_member_status_t status,
{
WSREP_ERROR("Notification buffer too short (%ld). Aborting notification.",
cmd_len);
+ my_free(cmd_ptr);
return;
}
@@ -107,5 +110,6 @@ void wsrep_notify_status (wsrep_member_status_t status,
WSREP_ERROR("Notification command failed: %d (%s): \"%s\"",
err, strerror(err), cmd_ptr);
}
+ my_free(cmd_ptr);
}