summaryrefslogtreecommitdiff
path: root/sql/sql_acl.cc
diff options
context:
space:
mode:
Diffstat (limited to 'sql/sql_acl.cc')
-rw-r--r--sql/sql_acl.cc20
1 files changed, 7 insertions, 13 deletions
diff --git a/sql/sql_acl.cc b/sql/sql_acl.cc
index aad37477a70..5e32da07aad 100644
--- a/sql/sql_acl.cc
+++ b/sql/sql_acl.cc
@@ -501,7 +501,6 @@ ulong acl_getroot(THD *thd, const char *host, const char *ip, const char *user,
{
ulong user_access=NO_ACCESS;
*priv_user=(char*) user;
- char *ptr=0;
DBUG_ENTER("acl_getroot");
bzero(mqh,sizeof(USER_RESOURCES));
@@ -578,34 +577,29 @@ ulong acl_getroot(THD *thd, const char *host, const char *ip, const char *user,
if (acl_user->x509_issuer)
{
DBUG_PRINT("info",("checkpoint 3"));
- ptr = X509_NAME_oneline(X509_get_issuer_name(cert), 0, 0);
+ char *ptr = X509_NAME_oneline(X509_get_issuer_name(cert), 0, 0);
DBUG_PRINT("info",("comparing issuers: '%s' and '%s'",
acl_user->x509_issuer, ptr));
- if (!strcmp(acl_user->x509_issuer,ptr))
- user_access=acl_user->access;
- else
+ if (strcmp(acl_user->x509_issuer, ptr))
{
user_access=NO_ACCESS;
free(ptr);
break;
}
+ user_access=acl_user->access;
free(ptr);
}
DBUG_PRINT("info",("checkpoint 4"));
/* X509 subject is specified, we check it .. */
if (acl_user->x509_subject)
{
- ptr = X509_NAME_oneline(X509_get_subject_name(cert), 0, 0);
+ char *ptr= X509_NAME_oneline(X509_get_subject_name(cert), 0, 0);
DBUG_PRINT("info",("comparing subjects: '%s' and '%s'",
acl_user->x509_subject, ptr));
- if (!strcmp(acl_user->x509_subject,ptr))
- user_access=acl_user->access;
- else
- {
+ if (strcmp(acl_user->x509_subject,ptr))
user_access=NO_ACCESS;
- free(ptr);
- break;
- }
+ else
+ user_access=acl_user->access;
free(ptr);
}
break;