From 9f14fd5812d7cc1c910f5e96d9430addbb8248b2 Mon Sep 17 00:00:00 2001 From: Jan Koester Date: Wed, 12 Mar 2025 20:13:39 +0100 Subject: [PATCH] fixed session.cpp --- src/authdb.cpp | 17 +++++++---------- src/user.cpp | 5 ++--- 2 files changed, 9 insertions(+), 13 deletions(-) diff --git a/src/authdb.cpp b/src/authdb.cpp index bad205c..88b5183 100644 --- a/src/authdb.cpp +++ b/src/authdb.cpp @@ -424,19 +424,16 @@ VALUEFOUND: bool getRecord(authdb::AuthBackend &backend,AuthData &rec,int type){ bool found=false; int rd=sizeof(authdb::AuthHeader),end=backend.end(); - AuthData *curec=&rec; while(rd cur(new AuthData::Record()); backend.setPos(rd); - backend.read((unsigned char*)&cur,sizeof(AuthData::Record)); - rd=backend.getPos()+cur.datasize; - if(uuid_compare(cur.uuid,rec.Data->uuid) == 0 && cur.type == type){ - cur.data=new char[cur.datasize]; - backend.read((unsigned char*)cur.data,cur.datasize); - rec.append(cur); - delete[] cur.data; + backend.read(reinterpret_cast(cur.get()),sizeof(AuthData::Record)); + rd=backend.getPos()+cur->datasize; + if(uuid_compare(cur->uuid,rec.Data->uuid) == 0 && cur->type == type){ + cur->data=new char[cur->datasize]; + backend.read((unsigned char*)cur->data,cur->datasize); + rec.append(*cur); found=true; } } diff --git a/src/user.cpp b/src/user.cpp index 7ab9f50..9e15061 100644 --- a/src/user.cpp +++ b/src/user.cpp @@ -167,9 +167,9 @@ void authdb::User::info(AuthBackend &backend, class UserData& dat, size_t &pos){ throw AuthBackendError("user info uid required!"); while(pos cur(new AuthData::Record); backend.setPos(pos); - backend.read((unsigned char*)cur,sizeof(AuthData::Record)); + backend.read(reinterpret_cast(cur.get()),sizeof(AuthData::Record)); pos=backend.getPos()+cur->datasize; if(cur->type == UserData && uuid_compare(dat.uid,cur->uuid) == 0 && strcmp(cur->fieldname,"username")==0 @@ -192,7 +192,6 @@ void authdb::User::info(AuthBackend &backend, class UserData& dat, size_t &pos){ dat.avatar=dat.Data; } } - delete cur; } } -- GitLab