Update of /cvsroot/monetdb/MonetDB5/src/mal
In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv15032

Modified Files:
      Tag: MonetDB_5-2
        mal_authorize.mx 
Log Message:
Fix a BAT leak, which becomes problematic on the long run after many
client logins.


Index: mal_authorize.mx
===================================================================
RCS file: /cvsroot/monetdb/MonetDB5/src/mal/mal_authorize.mx,v
retrieving revision 1.50
retrieving revision 1.50.2.1
diff -u -d -r1.50 -r1.50.2.1
--- mal_authorize.mx    16 Aug 2007 19:58:10 -0000      1.50
+++ mal_authorize.mx    16 Oct 2007 09:26:58 -0000      1.50.2.1
@@ -343,9 +343,10 @@
        b = BATselect(scen, id, id);
        if (b && BATcount(b) > 0) {
                if (*scenario == NULL || strNil(*scenario)) {
+                       BBPunfix(b->batCacheid);
                        /* of course we DO NOT tell the exact reason here again 
*/
-                       throw(INVCRED, "checkCredentials", "Invalid credentials 
for user '%s'",
-                                       *username);
+                       throw(INVCRED, "checkCredentials",
+                                       "Invalid credentials for user '%s'", 
*username);
                }
 
                /* ok, there are some tuples that we have to consider */
@@ -355,15 +356,19 @@
                        if (strcmp(*scenario, tmp) == 0) {
                                /* YAY!  fun!  party!  We are granted access! */
                                *uid = *id;
+                               BBPunfix(b->batCacheid);
                                return(MAL_SUCCEED);
                        }
                }
 
+               BBPunfix(b->batCacheid);
                /* uh oh... that we made it till here means it's wrong */
                throw(INVCRED, "checkCredentials", "Invalid credentials for 
user '%s'",
                                *username);
        } else {
                /* no scenario restriction applies, so everything is good */
+               if (b) 
+                       BBPunfix(b->batCacheid);
                *uid = *id;
                return(MAL_SUCCEED);
        }


-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
Monetdb-checkins mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/monetdb-checkins

Reply via email to