Return 0 checksum if mysql_users is empty

If table `mysql_users` is empty, its checksum must be all zeros
pull/1169/head
René Cannaò 9 years ago
parent 51c2af46f5
commit 21df8d1346

@ -484,20 +484,27 @@ uint64_t MySQL_Authentication::_get_runtime_checksum(enum cred_username_type use
if (cg.bt_map.size() == 0) {
return 0;
}
bool foundany = false;
SpookyHash myhash;
myhash.Init(13,4);
for (it = cg.bt_map.begin(); it != cg.bt_map.end(); ) {
account_details_t *ad=it->second;
myhash.Update(&ad->use_ssl,sizeof(ad->use_ssl));
myhash.Update(&ad->default_hostgroup,sizeof(ad->default_hostgroup));
myhash.Update(&ad->schema_locked,sizeof(ad->schema_locked));
myhash.Update(&ad->transaction_persistent,sizeof(ad->transaction_persistent));
myhash.Update(&ad->fast_forward,sizeof(ad->fast_forward));
myhash.Update(&ad->max_connections,sizeof(ad->max_connections));
myhash.Update(ad->username,strlen(ad->username));
myhash.Update(ad->password,strlen(ad->password));
if (ad->default_hostgroup >= 0) {
foundany = true;
myhash.Update(&ad->use_ssl,sizeof(ad->use_ssl));
myhash.Update(&ad->default_hostgroup,sizeof(ad->default_hostgroup));
myhash.Update(&ad->schema_locked,sizeof(ad->schema_locked));
myhash.Update(&ad->transaction_persistent,sizeof(ad->transaction_persistent));
myhash.Update(&ad->fast_forward,sizeof(ad->fast_forward));
myhash.Update(&ad->max_connections,sizeof(ad->max_connections));
myhash.Update(ad->username,strlen(ad->username));
myhash.Update(ad->password,strlen(ad->password));
}
it++;
}
if (foundany == false) {
return 0;
}
uint64_t hash1, hash2;
myhash.Final(&hash1, &hash2);
return hash1;

Loading…
Cancel
Save