diff --git a/src/mms/iso_mms/server/mms_file_service.c b/src/mms/iso_mms/server/mms_file_service.c index 81900c3e..6b053747 100644 --- a/src/mms/iso_mms/server/mms_file_service.c +++ b/src/mms/iso_mms/server/mms_file_service.c @@ -871,11 +871,19 @@ mmsServer_handleFileCloseRequest( MmsFileReadStateMachine* frsm = getFrsm(connection, frsmId); - FileSystem_closeFile(frsm->fileHandle); - frsm->fileHandle = NULL; - frsm->frsmId = 0; + if (frsm) { + FileSystem_closeFile(frsm->fileHandle); + frsm->fileHandle = NULL; + frsm->frsmId = 0; - mmsMsg_createFileCloseResponse(invokeId, response); + mmsMsg_createFileCloseResponse(invokeId, response); + } + else { + if (DEBUG_MMS_SERVER) + printf("MMS_SERVER: Unused file ID %i\n", frsmId); + + mmsMsg_createServiceErrorPdu(invokeId, response, MMS_ERROR_FILE_OTHER); + } }