Hi Simon,
Just wrote my first test apps with shisa (worked good, I
got compataible arcfour-hmac hashes out of shisa).
Running it with valgrind revealed two small memleaks:
- shisa_done() should free dbh->dbs, if it is != NULL.
- shisa_cfg_db() should free "db" (suggested patch
appended)
- I don't know, if you like "const", I do.
Elrond
--- config.c~ 2005-05-26 17:12:32.000000000 +0200
+++ config.c 2006-03-22 23:17:10.000000000 +0100
@@ -47,7 +47,7 @@
* successfully.
**/
int
-shisa_cfg_db (Shisa * dbh, char *value)
+shisa_cfg_db (Shisa * dbh, const char *value)
{
char *p;
char *db;
@@ -73,6 +73,7 @@
if (backend == NULL)
{
shisa_info (dbh, "Unknown database type: `%s'.", db);
+ free (db);
return SHISA_CFG_SYNTAX_ERROR;
}
@@ -82,8 +83,10 @@
shisa_info (dbh, "Cannot initialize `%s' database backend.\n"
"Location `%s' and options `%s'.", db,
location ? location : "N/A", options ? options : "N/A");
+ free (db);
return rc;
}
+ free (db);
dbh->dbs = xrealloc (dbh->dbs, ++dbh->ndbs * sizeof (*dbh->dbs));
dbh->dbs->backend = backend;
--- shisa.h~ 2005-05-26 17:12:32.000000000 +0200
+++ shisa.h 2006-03-22 23:17:27.000000000 +0100
@@ -98,7 +98,7 @@
/* cfg.c */
extern int shisa_cfg (Shisa * dbh, char *option);
-extern int shisa_cfg_db (Shisa * dbh, char *value);
+extern int shisa_cfg_db (Shisa * dbh, const char *value);
extern int shisa_cfg_from_file (Shisa * dbh, const char *cfg);
extern const char *shisa_cfg_default_systemfile (Shisa * dbh);
_______________________________________________
Help-shishi mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/help-shishi