rtsp: avoid sscanf for parsing

Closes #10605
This commit is contained in:
Daniel Stenberg 2023-02-24 17:31:43 +01:00
parent 3b8f5bb15b
commit 3b15ee1e34
No known key found for this signature in database
GPG Key ID: 5CC908FDB71E12C2

View File

@ -755,12 +755,14 @@ CURLcode rtp_client_write(struct Curl_easy *data, char *ptr, size_t len)
CURLcode Curl_rtsp_parseheader(struct Curl_easy *data, char *header)
{
long CSeq = 0;
if(checkprefix("CSeq:", header)) {
/* Store the received CSeq. Match is verified in rtsp_done */
int nc = sscanf(&header[4], ": %ld", &CSeq);
if(nc == 1) {
long CSeq = 0;
char *endp;
char *p = &header[5];
while(ISBLANK(*p))
p++;
CSeq = strtol(p, &endp, 10);
if(p != endp) {
struct RTSP *rtsp = data->req.p.rtsp;
rtsp->CSeq_recv = CSeq; /* mark the request */
data->state.rtsp_CSeq_recv = CSeq; /* update the handle */