From 6546b7ce475bc65a136cecadab038ce946102f7c Mon Sep 17 00:00:00 2001 From: yangwei Date: Mon, 4 Sep 2023 09:29:18 +0800 Subject: 馃悶 fix(http_Common): Fix TSG-16812锛屽鐞嗙┖鏍兼崲琛屽瓨鍦ㄨ瓒婄晫 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/HTTP_Common.c | 36 +++++++++++++++--------------------- 1 file changed, 15 insertions(+), 21 deletions(-) diff --git a/src/HTTP_Common.c b/src/HTTP_Common.c index edf68f9..358da91 100644 --- a/src/HTTP_Common.c +++ b/src/HTTP_Common.c @@ -137,27 +137,21 @@ void http_deleteSPHT(uint32 *offset, char* data, uint32 data_len) ***********************************************************/ void http_deleteSPHTCRLFAtLast(uint32 *del_data_len, char* data, uint32 data_len) { - if(data==NULL||data_len==0) return ; - *del_data_len = data_len - 1; - if(0==*del_data_len) - { - if(HTTP_CR==*(data+*del_data_len) || HTTP_HT==*(data+*del_data_len) || - HTTP_SP==*(data+*del_data_len) || HTTP_LF==*(data+*del_data_len)) - return ; - } - while((int)*del_data_len>=0) - { - if(HTTP_CR!=*(data+*del_data_len) && HTTP_HT!=*(data+*del_data_len) && - HTTP_SP!=*(data+*del_data_len) && HTTP_LF!=*(data+*del_data_len)) - break; - if(HTTP_CR==*(data+*del_data_len) || HTTP_HT==*(data+*del_data_len) || - HTTP_SP==*(data+*del_data_len) || HTTP_LF==*(data+*del_data_len)) - (*del_data_len)--; - - if((*del_data_len)<=0) - break; - } - (*del_data_len)++; + if (data == NULL || data_len == 0 || del_data_len == NULL) { + return; + } + + // 初始化要删除的长度为数据长度 + *del_data_len = data_len; + + // 从数据末尾向前查找非空白字符和换行符 + while (*del_data_len > 0 && + (data[*del_data_len - 1] == HTTP_CR || + data[*del_data_len - 1] == HTTP_HT || + data[*del_data_len - 1] == HTTP_SP || + data[*del_data_len - 1] == HTTP_LF)) { + (*del_data_len)--; + } } /********************************************************** -- cgit v1.2.3