Changeset: f6fe56770d42 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/f6fe56770d42
Modified Files:
monetdb5/mal/mal_authorize.c
sql/backends/monet5/sql_user.c
sql/backends/monet5/sql_user.h
Branch: userprofile
Log Message:
fix leak
diffs (108 lines):
diff --git a/monetdb5/mal/mal_authorize.c b/monetdb5/mal/mal_authorize.c
--- a/monetdb5/mal/mal_authorize.c
+++ b/monetdb5/mal/mal_authorize.c
@@ -865,6 +865,7 @@ AUTHgetPasswordHash(str *ret, Client cnt
// BUN p;
// BATiter i;
str tmp;
+ str msg;
str passwd = NULL;
rethrow("getPasswordHash", tmp, AUTHrequireAdmin(cntxt));
@@ -880,8 +881,13 @@ AUTHgetPasswordHash(str *ret, Client cnt
throw(MAL, "getPasswordHash", "user '%s' does not exist",
username);
}
/* decypher the password */
- if ((tmp = AUTHdecypherValue(&passwd, tmp)) != MAL_SUCCEED)
- return tmp;
+ if ((msg = AUTHdecypherValue(&passwd, tmp)) != MAL_SUCCEED) {
+ GDKfree(tmp);
+ return msg;
+ }
+
+ if(tmp)
+ GDKfree(tmp);
// TODO remove old implementation
// p = AUTHfindUser(username);
@@ -1224,6 +1230,7 @@ AUTHaddRemoteTableCredentials(const char
return output;
if((output = scenario->exitClientCmd(c)) != MAL_SUCCEED) {
+ GDKfree(pwhash);
return output;
}
MCfreeClient(c);
diff --git a/sql/backends/monet5/sql_user.c b/sql/backends/monet5/sql_user.c
--- a/sql/backends/monet5/sql_user.c
+++ b/sql/backends/monet5/sql_user.c
@@ -113,7 +113,7 @@ getUserNameCallback(Client c)
static str
getUserPasswordCallback(Client c, const char *user)
{
- str res;
+ str res = NULL;
backend *be = (backend *) c->sqlcontext;
if (be) {
mvc *m = be->mvc;
@@ -122,10 +122,9 @@ getUserPasswordCallback(Client c, const
oid rid = getUserOIDByName(m, user);
res = getUserPassword(m, rid);
sql_trans_end(m->session, SQL_OK);
- return res;
}
}
- return NULL;
+ return res;
}
@@ -515,21 +514,21 @@ monet5_find_user(ptr mp, str user)
// return (p == BUN_NONE ? -1 : 1);
}
-str
-db_users_wrap(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
-{
- bat *r = getArgReference_bat(stk, pci, 0);
- BAT *uid, *nme;
- str err;
-
- (void) mb;
- if ((err = AUTHgetUsers(&uid, &nme, cntxt)) != MAL_SUCCEED)
- return err;
- BBPunfix(uid->batCacheid);
- *r = nme->batCacheid;
- BBPkeepref(nme);
- return MAL_SUCCEED;
-}
+// str
+// db_users_wrap(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
+// {
+// bat *r = getArgReference_bat(stk, pci, 0);
+// BAT *uid, *nme;
+// str err;
+//
+// (void) mb;
+// if ((err = AUTHgetUsers(&uid, &nme, cntxt)) != MAL_SUCCEED)
+// return err;
+// BBPunfix(uid->batCacheid);
+// *r = nme->batCacheid;
+// BBPkeepref(nme);
+// return MAL_SUCCEED;
+// }
str
diff --git a/sql/backends/monet5/sql_user.h b/sql/backends/monet5/sql_user.h
--- a/sql/backends/monet5/sql_user.h
+++ b/sql/backends/monet5/sql_user.h
@@ -14,7 +14,7 @@ extern void monet5_user_init(backend_fun
extern int monet5_user_set_def_schema(mvc *m, oid user /* mal user id */);
extern int monet5_user_get_def_schema(mvc *m, int user /* sql user id */, str
*schema);
-extern str db_users_wrap(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr
pci);
+// extern str db_users_wrap(Client cntxt, MalBlkPtr mb, MalStkPtr stk,
InstrPtr pci);
extern str monet5_password_hash(mvc *m, const char *username);
#endif /* _SQL_USER_H_ */
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]