Loading src/backend.cpp +4 −2 Original line number Diff line number Diff line Loading @@ -167,10 +167,12 @@ int authdb::AuthBackend::searchValue(const char *fieldname, const char *value){ Guard guard(*this, Shared); authdb::AuthData::Record *user=new AuthData::Record; size_t rd=sizeof(authdb::AuthHeader),brd=rd; while(rd<end()){ while(rd+sizeof(AuthData::Record)<=end()){ setPos(rd); read((unsigned char*)user,sizeof(AuthData::Record)); rd=getPos()+user->datasize; size_t next = getPos()+user->datasize; if(next < getPos() || next > end()) break; rd=next; if(strcmp(user->fieldname,fieldname) == 0){ user->data = new char[user->datasize]; read((unsigned char*)user->data,user->datasize); Loading Loading
src/backend.cpp +4 −2 Original line number Diff line number Diff line Loading @@ -167,10 +167,12 @@ int authdb::AuthBackend::searchValue(const char *fieldname, const char *value){ Guard guard(*this, Shared); authdb::AuthData::Record *user=new AuthData::Record; size_t rd=sizeof(authdb::AuthHeader),brd=rd; while(rd<end()){ while(rd+sizeof(AuthData::Record)<=end()){ setPos(rd); read((unsigned char*)user,sizeof(AuthData::Record)); rd=getPos()+user->datasize; size_t next = getPos()+user->datasize; if(next < getPos() || next > end()) break; rd=next; if(strcmp(user->fieldname,fieldname) == 0){ user->data = new char[user->datasize]; read((unsigned char*)user->data,user->datasize); Loading