Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
SUSE:SLE-12-SP4:GA
pacemaker.13547
pacemaker-libcrmcluster-error-checking-updating...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File pacemaker-libcrmcluster-error-checking-updating-node-name.patch of Package pacemaker.13547
commit 73e9046ec58faae49893a2d3d939606056806960 Author: Ken Gaillot <kgaillot@redhat.com> Date: Thu Oct 12 11:21:18 2017 -0500 Low: libcrmcluster: improve error checking when updating node name Validate arguments, return without doing anything if name didn't change, and assert on out-of-memory. diff --git a/lib/cluster/membership.c b/lib/cluster/membership.c index acefd2d30..d09ab92a9 100644 --- a/lib/cluster/membership.c +++ b/lib/cluster/membership.c @@ -837,10 +837,19 @@ crm_update_peer(const char *source, unsigned int id, uint64_t born, uint64_t see void crm_update_peer_uname(crm_node_t *node, const char *uname) { - int i, len = strlen(uname); + CRM_CHECK(uname != NULL, + crm_err("Bug: can't update node name without name"); return); + CRM_CHECK(node != NULL, + crm_err("Bug: can't update node name to %s without node", uname); + return); + + if (safe_str_eq(uname, node->uname)) { + crm_debug("Node uname '%s' did not change", uname); + return; + } - for (i = 0; i < len; i++) { - if (uname[i] >= 'A' && uname[i] <= 'Z') { + for (const char *c = uname; *c; ++c) { + if ((*c >= 'A') && (*c <= 'Z')) { crm_warn("Node names with capitals are discouraged, consider changing '%s'", uname); break; @@ -849,6 +858,8 @@ crm_update_peer_uname(crm_node_t *node, const char *uname) free(node->uname); node->uname = strdup(uname); + CRM_ASSERT(node->uname != NULL); + if (crm_status_callback) { crm_status_callback(crm_status_uname, node, NULL); }
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor