diff --git a/epicardium/ble/filetransfer.c b/epicardium/ble/filetransfer.c index 5c88fef7d4f57687426f2ccea07e9ebeb68727d8..20facb8b71b1a7c163ae0eece44b5a0041452fbd 100644 --- a/epicardium/ble/filetransfer.c +++ b/epicardium/ble/filetransfer.c @@ -257,21 +257,12 @@ static int bleFileCreateOrOpen(char *filepath) static uint8_t bleFileOpen(dmConnId_t connId, uint8_t *pValue, uint16_t len) { - char filepath[100]; - - if (len > sizeof(filepath)) { - sendCrcResponse(connId, 'e', 0, NULL, "path too long"); - return ATT_ERR_RESOURCES; - } - - /* Copy only file path and not type, make sure this is NULL terminated */ - strncpy(filepath, (char *)pValue + 1, len - 1); - filepath[len - 1] = 0; + pValue[len] = 0; if (file_fd != -1) epic_file_close(file_fd); - file_fd = bleFileCreateOrOpen(filepath); + file_fd = bleFileCreateOrOpen((char *)pValue); if (file_fd < 0) { sendCrcResponse(connId, 'e', 0, NULL, "open failed"); return ATT_ERR_RESOURCES;