From bb004e8cb25d6a4b27b1351dcc9a7199c9a54db8 Mon Sep 17 00:00:00 2001 From: loki Date: Sat, 11 Jan 2020 14:57:55 +0100 Subject: [PATCH] Correct payload-length when parsing RTSP Messages --- src/RtspParser.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/RtspParser.c b/src/RtspParser.c index f8d8f47..2aff40a 100644 --- a/src/RtspParser.c +++ b/src/RtspParser.c @@ -210,11 +210,11 @@ int parseRtspMessage(PRTSP_MESSAGE msg, char* rtspMessage, int length) { // Package the new parsed message into the struct if (flag == TYPE_REQUEST) { createRtspRequest(msg, messageBuffer, FLAG_ALLOCATED_MESSAGE_BUFFER | FLAG_ALLOCATED_OPTION_ITEMS, command, target, - protocol, sequenceNum, options, payload, payload ? length - (int)(messageBuffer - payload) : 0); + protocol, sequenceNum, options, payload, payload ? length - (int)(payload - messageBuffer) : 0); } else { createRtspResponse(msg, messageBuffer, FLAG_ALLOCATED_MESSAGE_BUFFER | FLAG_ALLOCATED_OPTION_ITEMS, protocol, statusCode, - statusStr, sequenceNum, options, payload, payload ? length - (int)(messageBuffer - payload) : 0); + statusStr, sequenceNum, options, payload, payload ? length - (int)(payload - messageBuffer) : 0); } return RTSP_ERROR_SUCCESS; @@ -394,4 +394,4 @@ void freeMessage(PRTSP_MESSAGE msg) { if (msg->flags & FLAG_ALLOCATED_PAYLOAD) { free(msg->payload); } -} \ No newline at end of file +}