Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision f2a8339e

Von admin vor mehr als 4 Jahren hinzugefügt

  • ID f2a8339e8542d1d597e89269634f6c9e1b8a5a6c
  • Vorgänger 3d30b968
  • Nachfolger fa0c604e

Fixed some memory leaks.

Unterschiede anzeigen:

test/createobjects.c
return rv;
}
AQDB_Object_free(o);
Type1_free(t);
}
return 0;
......
return rv;
}
AQDB_Object_free(o);
Type2_free(t);
}
return 0;
test/test1.c
DBG_ERROR(AQDB_LOGDOMAIN, "ERROR: There are too few objects of type1");
return GWEN_ERROR_INTERNAL;
}
Type1_List_free(tl);
}
if (1) {
......
DBG_ERROR(AQDB_LOGDOMAIN, "ERROR: There are too few objects of type2");
return GWEN_ERROR_INTERNAL;
}
Type2_List_free(tl);
}
test/test2.c
DBG_ERROR(AQDB_LOGDOMAIN, "ERROR: There are too few objects of type1");
return GWEN_ERROR_INTERNAL;
}
Type1_List_free(tl);
}
if (1) {
......
DBG_ERROR(AQDB_LOGDOMAIN, "ERROR: There are too few objects of type2");
return GWEN_ERROR_INTERNAL;
}
Type2_List_free(tl);
}
......
DBG_ERROR(AQDB_LOGDOMAIN, "ERROR: There are too few objects of type1 (run2)");
return GWEN_ERROR_INTERNAL;
}
Type1_List_free(tl);
}
if (1) {
......
DBG_ERROR(AQDB_LOGDOMAIN, "ERROR: There are too few objects of type2 (run2)");
return GWEN_ERROR_INTERNAL;
}
Type2_List_free(tl);
}
rv=AQDB_DB_Close(db, 0);
test/test3.c
DBG_ERROR(AQDB_LOGDOMAIN, "ERROR: There are too few objects of type1");
return GWEN_ERROR_INTERNAL;
}
Type1_List_free(tl);
}
if (1) {
......
DBG_ERROR(AQDB_LOGDOMAIN, "ERROR: There are too few objects of type2");
return GWEN_ERROR_INTERNAL;
}
Type2_List_free(tl);
}
......
DBG_ERROR(AQDB_LOGDOMAIN, "ERROR: There are too few objects of type1 (run2)");
return GWEN_ERROR_INTERNAL;
}
Type1_List_free(tl);
}
if (1) {
......
DBG_ERROR(AQDB_LOGDOMAIN, "ERROR: There are too few objects of type2 (run2)");
return GWEN_ERROR_INTERNAL;
}
Type2_List_free(tl);
}
......
rv=AQDB_DB_GetRollbackSessions(db, sl);
if (rv<0) {
DBG_ERROR(AQDB_LOGDOMAIN, "here (%d)", rv);
AQDB_SessionDescr_List_free(sl);
AQDB_DB_free(db);
return rv;
}
......
sd=AQDB_SessionDescr_List_Last(sl);
if (sd==NULL) {
DBG_ERROR(AQDB_LOGDOMAIN, "ERROR: No session descriptor in list");
AQDB_SessionDescr_List_free(sl);
AQDB_DB_free(db);
return GWEN_ERROR_INTERNAL;
}
sessionId=AQDB_SessionDescr_GetSessionId(sd);
if (sessionId==0) {
DBG_ERROR(AQDB_LOGDOMAIN, "ERROR: Session descriptor has no session id");
AQDB_SessionDescr_List_free(sl);
AQDB_DB_free(db);
return GWEN_ERROR_INTERNAL;
}
......
rv=AQDB_DB_UndoSession(db, sessionId);
if (rv<0) {
DBG_ERROR(AQDB_LOGDOMAIN, "here (%d)", rv);
AQDB_SessionDescr_List_free(sl);
AQDB_DB_free(db);
return rv;
}
AQDB_SessionDescr_List_free(sl);
}
......
DBG_ERROR(AQDB_LOGDOMAIN, "ERROR: There are too few objects of type1 (run3)");
return GWEN_ERROR_INTERNAL;
}
Type1_List_free(tl);
}
if (1) {
......
DBG_ERROR(AQDB_LOGDOMAIN, "ERROR: There are too few objects of type2 (run3)");
return GWEN_ERROR_INTERNAL;
}
Type2_List_free(tl);
}
test/test4.c
DBG_ERROR(0, "ERROR: There are too few objects of type1");
return GWEN_ERROR_INTERNAL;
}
Type1_List_free(tl);
}
if (1) {
......
DBG_ERROR(0, "ERROR: There are too few objects of type2");
return GWEN_ERROR_INTERNAL;
}
Type2_List_free(tl);
}
......
DBG_ERROR(0, "ERROR: There are too few objects of type1 (run2)");
return GWEN_ERROR_INTERNAL;
}
Type1_List_free(tl);
}
if (1) {
......
DBG_ERROR(0, "ERROR: There are too few objects of type2 (run2)");
return GWEN_ERROR_INTERNAL;
}
Type2_List_free(tl);
}
......
AQDB_DB_free(db);
return rv;
}
AQDB_SessionDescr_List_free(sl);
}
......
fprintf(stderr, "ERROR: There are too few objects of type1 (run3)\n");
return GWEN_ERROR_INTERNAL;
}
Type1_List_free(tl);
}
if (1) {
......
DBG_ERROR(0, "ERROR: There are too few objects of type2 (run3)");
return GWEN_ERROR_INTERNAL;
}
Type2_List_free(tl);
}
......
DBG_ERROR(0, "ERROR: There are too few objects of type1 (run2)");
return GWEN_ERROR_INTERNAL;
}
Type1_List_free(tl);
}
if (1) {
......
DBG_ERROR(0, "ERROR: There are too few objects of type2 (run2)");
return GWEN_ERROR_INTERNAL;
}
Type2_List_free(tl);
}
test/test6.c
t=Type1_List_Next(t);
}
GWEN_Buffer_free(tbuf);
Type1_List_free(tl);
}
/* done editing */
......
t=Type1_List_Next(t);
}
Type1_List_free(tl);
}
test/test7.c
t=Type1_List_Next(t);
}
GWEN_Buffer_free(tbuf);
Type1_List_free(tl);
}
if (1) {
......
t=Type1_List_Next(t);
}
Type1_List_free(tl);
}
/* done editing */

Auch abrufbar als: Unified diff