From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTP id D934D47188 for ; Thu, 10 Aug 2023 16:14:12 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 500C868C8EC; Thu, 10 Aug 2023 19:14:09 +0300 (EEST) Received: from mail-ej1-f54.google.com (mail-ej1-f54.google.com [209.85.218.54]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 335AC68C324 for ; Thu, 10 Aug 2023 19:14:02 +0300 (EEST) Received: by mail-ej1-f54.google.com with SMTP id a640c23a62f3a-9936b3d0286so162018566b.0 for ; Thu, 10 Aug 2023 09:14:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=grabyo.com; s=google-apps-gmail; t=1691684041; x=1692288841; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=B2QxsdFpPm4HGPEHzI1oudFlLoINx/YUvBaeFZmbSd0=; b=mz3FQ4nCYGytiLdUZIonn9QzqjIc3pxc4nzhXjIAEVr3tu+Xxgslrwv7kWLcl9kcgT iQO3xcR788g3rsVo50pgRFp4iTsed+NXQG+eHhFIIc2g5/auSmU6SaoSKEykQfAjQMtU YRkBjWQitiaEB2rY6LQYE5GEWuAjmhFGaZFmU= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1691684041; x=1692288841; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=B2QxsdFpPm4HGPEHzI1oudFlLoINx/YUvBaeFZmbSd0=; b=RvaNsj11H4ZAJi5lDiD54WhQJuD8X+fyZT1FXzFJEAyiNghmyghCGum5pCZyLmJ86e ddqaB3HBu/5eEOCh7f5Qqt74zT6QwfCAF2LbeErsIirp9cHyYn48NeD3bfU2IwGYzdN8 xb4DeuAOzBRZ5X7N51dQgm73xunhL+PX7eC5hQbDHP+tOMGqPJTDkV4GOw/KiRFZDRZD 0h3G4EG8U9qf58eiIcVflHiXZJCV9fT8hbfO6a6pKnt2RvBdRLNEaTyFc36nP29zGpWj IAKR4tRKX2HJpn6LvGprYZj7abmWYPFHnRVBf0D42dt5UGsoD6UFKe+s4ztO38cmiEh+ ylCg== X-Gm-Message-State: AOJu0YxC7s/qi7eRYyJJzfcYm0oEMO6zKsC64bb9uvkBs4yrzrb0qhsB 22jMavRifAHGOgE+IZUvQmmPcIFXPOMhjmfpxMkRdEVcjdHIkGag4UvBo6Am X-Google-Smtp-Source: AGHT+IHWrkJZTqcgxiCPqdHH5+9zK8V26Q+i7JAkzaEja4xlDrC0xpbxIHrK0GlHnHxmPuI/KilWlvDlWGkS61kiZs8= X-Received: by 2002:a17:906:53d3:b0:99b:ed8d:de4 with SMTP id p19-20020a17090653d300b0099bed8d0de4mr2714957ejo.20.1691684040991; Thu, 10 Aug 2023 09:14:00 -0700 (PDT) MIME-Version: 1.0 From: Armin Hasitzka Date: Thu, 10 Aug 2023 17:13:49 +0100 Message-ID: To: FFmpeg development discussions and patches Content-Type: multipart/mixed; boundary="000000000000562612060293e29f" X-Content-Filtered-By: Mailman/MimeDel 2.1.29 Subject: [FFmpeg-devel] [PATCH] avformat/libsrt: Decode URL parameter strings X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: --000000000000562612060293e29f Content-Type: text/plain; charset="UTF-8" Hi again, we found this the other day when using a stream ID containing "%2F", expecting this to be resolved to "/". While "%2F" could obviously be sent decoded, "&" (decoded) would currently end the value and not be used, "+" (decoded) would be overwritten with " ", and "=" (decoded) could cause entirely unexpected outcomes (albeit all these characters being allowed by SRT for various string inputs). As for changing `av_strndup` to `ff_urldecode` (which removes a length check); I don't think that this particular length check added any protection (`av_find_info_tag` adds a trailing `\0` if found). This thinking is also evident at the two other places where `ff_urldecode` replaced `av_strdup`. It would be amazing if we could get this merged upstream :) Best Armin --000000000000562612060293e29f Content-Type: application/octet-stream; name="0001-avformat-libsrt-Decode-URL-parameter-strings.patch" Content-Disposition: attachment; filename="0001-avformat-libsrt-Decode-URL-parameter-strings.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_ll5cxl0l0 RnJvbSBiMjMyOTNhYmY5NjNjYTczMDk2ZGVhNjAyMWRjZWJhNmJkMDY4Zjg4IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBBcm1pbiBIYXNpdHprYSA8YXJtaW5AZ3JhYnlvLmNvbT4KRGF0 ZTogVGh1LCAxMCBBdWcgMjAyMyAxNjoyMzowNSArMDEwMApTdWJqZWN0OiBbUEFUQ0hdIGF2Zm9y bWF0L2xpYnNydDogRGVjb2RlIFVSTCBwYXJhbWV0ZXIgc3RyaW5ncwoKLS0tCiBsaWJhdmZvcm1h dC9saWJzcnQuYyB8IDcgKysrKy0tLQogMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwg MyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9saWJhdmZvcm1hdC9saWJzcnQuYyBiL2xpYmF2 Zm9ybWF0L2xpYnNydC5jCmluZGV4IGNkOGY1YjFlN2QuLjg5ODY2MTYzMzQgMTAwNjQ0Ci0tLSBh L2xpYmF2Zm9ybWF0L2xpYnNydC5jCisrKyBiL2xpYmF2Zm9ybWF0L2xpYnNydC5jCkBAIC0zMiw2 ICszMiw3IEBACiAjaW5jbHVkZSAibmV0d29yay5oIgogI2luY2x1ZGUgIm9zX3N1cHBvcnQuaCIK ICNpbmNsdWRlICJ1cmwuaCIKKyNpbmNsdWRlICJ1cmxkZWNvZGUuaCIKIAogLyogVGhpcyBpcyBm b3IgTVBFRy1UUyBhbmQgaXQncyBhIGRlZmF1bHQgU1JUT19QQVlMT0FEU0laRSBmb3IgU1JUVF9M SVZFICg4IFRTIHBhY2tldHMpICovCiAjaWZuZGVmIFNSVF9MSVZFX0RFRkFVTFRfUEFZTE9BRF9T SVpFCkBAIC01NDcsNyArNTQ4LDcgQEAgc3RhdGljIGludCBsaWJzcnRfb3BlbihVUkxDb250ZXh0 ICpoLCBjb25zdCBjaGFyICp1cmksIGludCBmbGFncykKICAgICAgICAgfQogICAgICAgICBpZiAo YXZfZmluZF9pbmZvX3RhZyhidWYsIHNpemVvZihidWYpLCAicGFzc3BocmFzZSIsIHApKSB7CiAg ICAgICAgICAgICBhdl9mcmVlcCgmcy0+cGFzc3BocmFzZSk7Ci0gICAgICAgICAgICBzLT5wYXNz cGhyYXNlID0gYXZfc3RybmR1cChidWYsIHN0cmxlbihidWYpKTsKKyAgICAgICAgICAgIHMtPnBh c3NwaHJhc2UgPSBmZl91cmxkZWNvZGUoYnVmLCAwKTsKICAgICAgICAgfQogI2lmIFNSVF9WRVJT SU9OX1ZBTFVFID49IDB4MDEwMzAyCiAgICAgICAgIGlmIChhdl9maW5kX2luZm9fdGFnKGJ1Ziwg c2l6ZW9mKGJ1ZiksICJlbmZvcmNlZF9lbmNyeXB0aW9uIiwgcCkpIHsKQEAgLTYzMiw3ICs2MzMs NyBAQCBzdGF0aWMgaW50IGxpYnNydF9vcGVuKFVSTENvbnRleHQgKmgsIGNvbnN0IGNoYXIgKnVy aSwgaW50IGZsYWdzKQogICAgICAgICB9CiAgICAgICAgIGlmIChhdl9maW5kX2luZm9fdGFnKGJ1 Ziwgc2l6ZW9mKGJ1ZiksICJzdHJlYW1pZCIsIHApKSB7CiAgICAgICAgICAgICBhdl9mcmVlcCgm cy0+c3RyZWFtaWQpOwotICAgICAgICAgICAgcy0+c3RyZWFtaWQgPSBhdl9zdHJkdXAoYnVmKTsK KyAgICAgICAgICAgIHMtPnN0cmVhbWlkID0gZmZfdXJsZGVjb2RlKGJ1ZiwgMCk7CiAgICAgICAg ICAgICBpZiAoIXMtPnN0cmVhbWlkKSB7CiAgICAgICAgICAgICAgICAgcmV0ID0gQVZFUlJPUihF Tk9NRU0pOwogICAgICAgICAgICAgICAgIGdvdG8gZXJyOwpAQCAtNjQwLDcgKzY0MSw3IEBAIHN0 YXRpYyBpbnQgbGlic3J0X29wZW4oVVJMQ29udGV4dCAqaCwgY29uc3QgY2hhciAqdXJpLCBpbnQg ZmxhZ3MpCiAgICAgICAgIH0KICAgICAgICAgaWYgKGF2X2ZpbmRfaW5mb190YWcoYnVmLCBzaXpl b2YoYnVmKSwgInNtb290aGVyIiwgcCkpIHsKICAgICAgICAgICAgIGF2X2ZyZWVwKCZzLT5zbW9v dGhlcik7Ci0gICAgICAgICAgICBzLT5zbW9vdGhlciA9IGF2X3N0cmR1cChidWYpOworICAgICAg ICAgICAgcy0+c21vb3RoZXIgPSBmZl91cmxkZWNvZGUoYnVmLCAwKTsKICAgICAgICAgICAgIGlm KCFzLT5zbW9vdGhlcikgewogICAgICAgICAgICAgICAgIHJldCA9IEFWRVJST1IoRU5PTUVNKTsK ICAgICAgICAgICAgICAgICBnb3RvIGVycjsKLS0gCjIuNDEuMAoK --000000000000562612060293e29f Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe". --000000000000562612060293e29f--