From: <ev...@us...> - 2014-01-01 18:17:34
|
Revision: 1120 http://sourceforge.net/p/eyedb/code/1120 Author: eviara Date: 2014-01-01 18:17:31 +0000 (Wed, 01 Jan 2014) Log Message: ----------- Fixed memory bugs Modified Paths: -------------- eyedb/trunk/src/eyedb/Argument.cc eyedb/trunk/src/eyedb/SessionLog.cc Modified: eyedb/trunk/src/eyedb/Argument.cc =================================================================== --- eyedb/trunk/src/eyedb/Argument.cc 2011-11-06 20:49:01 UTC (rev 1119) +++ eyedb/trunk/src/eyedb/Argument.cc 2014-01-01 18:17:31 UTC (rev 1120) @@ -819,7 +819,8 @@ if (type == INT32_TYPE) { - const char *clname = argtype->getClname().c_str(); + std::string clname_str = argtype->getClname(); + const char *clname = clname_str.c_str(); if (clname && *clname) return strcat(strcat(rettype, clname), array); Modified: eyedb/trunk/src/eyedb/SessionLog.cc =================================================================== --- eyedb/trunk/src/eyedb/SessionLog.cc 2011-11-06 20:49:01 UTC (rev 1119) +++ eyedb/trunk/src/eyedb/SessionLog.cc 2014-01-01 18:17:31 UTC (rev 1120) @@ -794,8 +794,10 @@ if (!userauth) userauth = ""; - strcpy(clinfo->dbs[clinfo->n_dbs].dbname, name); - strcpy(clinfo->dbs[clinfo->n_dbs].userauth, userauth); + strncpy(clinfo->dbs[clinfo->n_dbs].dbname, name, sizeof(clinfo->dbs[clinfo->n_dbs].dbname)-1); + clinfo->dbs[clinfo->n_dbs].dbname[sizeof(clinfo->dbs[clinfo->n_dbs].dbname)] = 0; + strncpy(clinfo->dbs[clinfo->n_dbs].userauth, userauth, sizeof(clinfo->dbs[clinfo->n_dbs].userauth)-1); + clinfo->dbs[clinfo->n_dbs].userauth[sizeof(clinfo->dbs[clinfo->n_dbs].userauth)] = 0; clinfo->dbs[clinfo->n_dbs].flags = flags; clinfo->n_dbs++; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |