c++ - Copying values to struct pointer fails at second call -
i'm trying code client-server program(tcp) , code used (down below) works fine. have 1 major issue it, when call initialize() first time works, sends comamnd , data server , server sends reponse. found out when call second time values aren't assigned struct pointer of request. tried adding zeromemory @ end clean values. didn't change anything. of may know why this? appreciated!
typedef struct auth_request { dword version; dword game; byte key1[0x10]; byte key2[0x10]; byte secret[0x14]; } request, *arequest; typedef struct auth_response { dword status; } response, *aresponse; bool initialize() { // init poiters arequest request = (arequest)xphysicalalloc(sizeof(request), maxulong_ptr, 0x00, page_readwrite); response response; // assigning values request->version = fileversion; request->game = utils::getgameid(); memcpy(request->key1, utils::getkey1(), 0x10); memcpy(request->key2, utils::getkey2(), 0x10); memcpy(request->secret, utils::getsecret(), 0x14); // send command + data & receive response if (!network::command(0x0000001, request, sizeof(request), &response, sizeof(response))) utils::shutdown(); bool returnstate = false; switch (response.status) { // stuff } // clean zeromemory(&request, sizeof(request)); zeromemory(&response, sizeof(response)); return returnstate; }
Comments
Post a Comment