X-Git-Url: http://cvs.zerfleddert.de/cgi-bin/gitweb.cgi/proxmark3-svn/blobdiff_plain/a75d63f19b93f22faeff886f9f2568f3d7531d55..8040711b9026716982b6909cc2c9abdbb930a583:/client/scripting.c diff --git a/client/scripting.c b/client/scripting.c index 6eef88ba..64fb2a8f 100644 --- a/client/scripting.c +++ b/client/scripting.c @@ -82,7 +82,6 @@ static int l_WaitForResponseTimeout(lua_State *L){ } UsbCommand response; - if(WaitForResponseTimeout(cmd, &response, ms_timeout)) { //Push it as a string @@ -222,18 +221,17 @@ static int l_iso14443b_crc(lua_State *L) unsigned char *TransmitFirst, unsigned char *TransmitSecond) */ - unsigned char buf[USB_CMD_DATA_SIZE]; - size_t len = 0; - const char *data = luaL_checklstring(L, 1, &len); - if (USB_CMD_DATA_SIZE < len) - len = USB_CMD_DATA_SIZE-2; + size_t size = 0; + const char *data = luaL_checklstring(L, 1, &size); + + unsigned char buf[USB_CMD_DATA_SIZE] = {0x00}; - for (int i = 0; i < len; i += 2) { - sscanf(&data[i], "%02x", (unsigned int *)&buf[i / 2]); - } - ComputeCrc14443(CRC_14443_B, buf, len, &buf[len], &buf[len+1]); + for (int i = 0; i < size; i += 2) + sscanf(&data[i], "%02x", (unsigned int *)&buf[i / 2]); - lua_pushlstring(L, (const char *)&buf, len+2); + size /= 2; + ComputeCrc14443(CRC_14443_B, buf, size, &buf[size], &buf[size+1]); + lua_pushlstring(L, (const char *)&buf, size+2); return 1; } @@ -409,13 +407,15 @@ static int l_sha1(lua_State *L) static int l_reveng_models(lua_State *L){ - char *models[80]; + // This array needs to be adjusted if RevEng adds more crc-models. + char *models[100]; int count = 0; int in_width = luaL_checkinteger(L, 1); if( in_width > 89 ) return returnToLuaWithError(L,"Width cannot exceed 89, got %d", in_width); - uint8_t width[80]; + // This array needs to be adjusted if RevEng adds more crc-models. + uint8_t width[100]; width[0] = (uint8_t)in_width; int ans = GetModels(models, &count, width); if (!ans) return 0; @@ -487,7 +487,6 @@ int setLuaPath( lua_State* L, const char* path ) return 0; // all done! } - int set_pm3_libraries(lua_State *L) {