diff options
author | David Sommerseth <dazo@users.sourceforge.net> | 2009-09-07 21:32:10 +0200 |
---|---|---|
committer | David Sommerseth <dazo@users.sourceforge.net> | 2009-09-07 21:32:10 +0200 |
commit | 2e1851802188515f8edeed8eb3f753cf69e348d9 (patch) | |
tree | 2eaa6d13c1f77f39145cf1b5f92c8ac076eb237b /plugin/eurephiadb_session.c | |
parent | 66b29488a7ed5909564ed03b3e89cd0d008df09e (diff) | |
download | eurephia-2e1851802188515f8edeed8eb3f753cf69e348d9.tar.gz eurephia-2e1851802188515f8edeed8eb3f753cf69e348d9.tar.xz eurephia-2e1851802188515f8edeed8eb3f753cf69e348d9.zip |
Added debug logging of free_nullsafe() calls as well
Diffstat (limited to 'plugin/eurephiadb_session.c')
-rw-r--r-- | plugin/eurephiadb_session.c | 64 |
1 files changed, 32 insertions, 32 deletions
diff --git a/plugin/eurephiadb_session.c b/plugin/eurephiadb_session.c index aca3b28..c0a6878 100644 --- a/plugin/eurephiadb_session.c +++ b/plugin/eurephiadb_session.c @@ -99,7 +99,7 @@ eurephiaSESSION *eDBopen_session_seed(eurephiaCTX *ctx, const char *digest, seeddata = (char *) malloc_nullsafe(ctx, (totlen * 2) + 4); if( seeddata == NULL ) { - free_nullsafe(new_session); + free_nullsafe(ctx, new_session); return NULL; } snprintf((char *)seeddata, totlen, @@ -114,8 +114,8 @@ eurephiaSESSION *eDBopen_session_seed(eurephiaCTX *ctx, const char *digest, seed = (char *) malloc_nullsafe(ctx, (SHA512_HASH_SIZE*2)+3); if( seed == NULL ) { - free_nullsafe(seeddata); - free_nullsafe(new_session); + free_nullsafe(ctx, seeddata); + free_nullsafe(ctx, new_session); return NULL; } ptr = seed; @@ -143,10 +143,10 @@ eurephiaSESSION *eDBopen_session_seed(eurephiaCTX *ctx, const char *digest, // Loop until we get a unique sessionkey - don't loop more than 10 times skeydata = (char *) malloc_nullsafe(ctx, (totlen*2)+4); if( skeydata == NULL ) { - free_nullsafe(new_session->sessionkey); - free_nullsafe(new_session); - free_nullsafe(seeddata); - free_nullsafe(seed); + free_nullsafe(ctx, new_session->sessionkey); + free_nullsafe(ctx, new_session); + free_nullsafe(ctx, seeddata); + free_nullsafe(ctx, seed); return NULL; } do { @@ -157,10 +157,10 @@ eurephiaSESSION *eDBopen_session_seed(eurephiaCTX *ctx, const char *digest, // Append some random data to our session seed rndstr = (char *) malloc_nullsafe(ctx, (totlen * 2)); if( rndstr == NULL ) { - free_nullsafe(new_session->sessionkey); - free_nullsafe(new_session); - free_nullsafe(seeddata); - free_nullsafe(seed); + free_nullsafe(ctx, new_session->sessionkey); + free_nullsafe(ctx, new_session); + free_nullsafe(ctx, seeddata); + free_nullsafe(ctx, seed); return NULL; } rndlen = ((totlen * 2) - strlen_nullsafe(seed) - 2); @@ -168,10 +168,10 @@ eurephiaSESSION *eDBopen_session_seed(eurephiaCTX *ctx, const char *digest, if( !eurephia_randstring(ctx, rndstr, rndlen) ) { eurephia_log(ctx, LOG_PANIC, 0, "Could not generate enough random data for session key"); - free_nullsafe(new_session->sessionkey); - free_nullsafe(new_session); - free_nullsafe(seeddata); - free_nullsafe(seed); + free_nullsafe(ctx, new_session->sessionkey); + free_nullsafe(ctx, new_session); + free_nullsafe(ctx, seeddata); + free_nullsafe(ctx, seed); return NULL; } @@ -180,12 +180,12 @@ eurephiaSESSION *eDBopen_session_seed(eurephiaCTX *ctx, const char *digest, SHA512Update(&sha, rndstr, rndlen); SHA512Final(&sha, sha_res); - free_nullsafe(new_session->sessionkey); + free_nullsafe(ctx, new_session->sessionkey); new_session->sessionkey = (char *) malloc_nullsafe(ctx, (SHA512_HASH_SIZE*2)+3); if( new_session->sessionkey == NULL ) { - free_nullsafe(new_session); - free_nullsafe(seeddata); - free_nullsafe(seed); + free_nullsafe(ctx, new_session); + free_nullsafe(ctx, seeddata); + free_nullsafe(ctx, seed); return NULL; } @@ -196,31 +196,31 @@ eurephiaSESSION *eDBopen_session_seed(eurephiaCTX *ctx, const char *digest, } memset(&sha, 0, sizeof(SHA512Context)); memset(&sha_res, 0, sizeof(sha_res)); - free_nullsafe(rndstr); + free_nullsafe(ctx, rndstr); loop++; uniqcheck = eDBcheck_sessionkey_uniqueness(ctx, new_session->sessionkey); } while( (uniqcheck == 0) && loop < 11 ); - free_nullsafe(skeydata); + free_nullsafe(ctx, skeydata); // If we did not manage to create a unique session key (random data collection must have failed!) if( uniqcheck == 0 ) { eurephia_log(ctx, LOG_FATAL, 0, "Did not manage to create a unique sessionkey after %i attempts", loop-1); - free_nullsafe(new_session->sessionkey); - free_nullsafe(new_session); - free_nullsafe(seeddata); - free_nullsafe(seed); + free_nullsafe(ctx, new_session->sessionkey); + free_nullsafe(ctx, new_session); + free_nullsafe(ctx, seeddata); + free_nullsafe(ctx, seed); return NULL; } // Save this session key in the database and connect it to this session seed if( eDBregister_sessionkey(ctx, seed, new_session->sessionkey) == 0) { eurephia_log(ctx, LOG_FATAL, 0, "Could not register sessionkey"); - free_nullsafe(new_session->sessionkey); - free_nullsafe(new_session); - free_nullsafe(seeddata); - free_nullsafe(seed); + free_nullsafe(ctx, new_session->sessionkey); + free_nullsafe(ctx, new_session); + free_nullsafe(ctx, seeddata); + free_nullsafe(ctx, seed); return NULL; }; new_session->sessionstatus = SESSION_NEW; @@ -228,8 +228,8 @@ eurephiaSESSION *eDBopen_session_seed(eurephiaCTX *ctx, const char *digest, new_session->sessionstatus = SESSION_EXISTING; DEBUG(ctx, 13, "Session seed found, using sessionkey '%s'", new_session->sessionkey); } - free_nullsafe(seed); - free_nullsafe(seeddata); + free_nullsafe(ctx, seed); + free_nullsafe(ctx, seeddata); // Load session values from the database new_session->sessvals = eDBload_sessiondata(ctx, new_session->sessionkey); @@ -267,7 +267,7 @@ eurephiaSESSION *eDBopen_session_macaddr(eurephiaCTX *ctx, const char *macaddr) if( new_session->sessionkey == NULL ) { eurephia_log(ctx, LOG_CRITICAL, 0, "Could not find an active session for MAC address '%s'", macaddr); - free_nullsafe(new_session); + free_nullsafe(ctx, new_session); return NULL; } DEBUG(ctx, 13, "Session seed found, using sessionkey '%s'", new_session->sessionkey); |