Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
 help / color / mirror / Atom feed
* [FFmpeg-devel] [PATCH 1/3] avformat/rtsp: fix misleading indentation
@ 2025-07-08 15:09 Marvin Scholz
  2025-07-08 15:09 ` [FFmpeg-devel] [PATCH 2/3] avformat/rtsp: use av_unreachable Marvin Scholz
  2025-07-08 15:09 ` [FFmpeg-devel] [PATCH 3/3] avformat/rtsp: check copy_tls_opts_dict Marvin Scholz
  0 siblings, 2 replies; 3+ messages in thread
From: Marvin Scholz @ 2025-07-08 15:09 UTC (permalink / raw)
  To: ffmpeg-devel

---
 libavformat/rtsp.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/libavformat/rtsp.c b/libavformat/rtsp.c
index 8d360b375f..6201f09136 100644
--- a/libavformat/rtsp.c
+++ b/libavformat/rtsp.c
@@ -602,8 +602,8 @@ static void sdp_parse_line(AVFormatContext *s, SDPParseState *s1,
                 if (proto[0] == '\0') {
                     /* relative control URL */
                     if (rtsp_st->control_url[strlen(rtsp_st->control_url)-1]!='/')
-                    av_strlcat(rtsp_st->control_url, "/",
-                               sizeof(rtsp_st->control_url));
+                        av_strlcat(rtsp_st->control_url, "/",
+                                   sizeof(rtsp_st->control_url));
                     av_strlcat(rtsp_st->control_url, p,
                                sizeof(rtsp_st->control_url));
                 } else
-- 
2.39.5 (Apple Git-154)

_______________________________________________
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".

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [FFmpeg-devel] [PATCH 2/3] avformat/rtsp: use av_unreachable
  2025-07-08 15:09 [FFmpeg-devel] [PATCH 1/3] avformat/rtsp: fix misleading indentation Marvin Scholz
@ 2025-07-08 15:09 ` Marvin Scholz
  2025-07-08 15:09 ` [FFmpeg-devel] [PATCH 3/3] avformat/rtsp: check copy_tls_opts_dict Marvin Scholz
  1 sibling, 0 replies; 3+ messages in thread
From: Marvin Scholz @ 2025-07-08 15:09 UTC (permalink / raw)
  To: ffmpeg-devel

---
 libavformat/rtsp.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libavformat/rtsp.c b/libavformat/rtsp.c
index 6201f09136..c6203a07de 100644
--- a/libavformat/rtsp.c
+++ b/libavformat/rtsp.c
@@ -2001,7 +2001,7 @@ redirect:
            if (CONFIG_RTSP_MUXER)
         err = ff_rtsp_setup_output_streams(s, host);
     else
-        av_assert0(0);
+        av_unreachable("Either muxer or demuxer must be enabled");
     if (err)
         goto fail;
 
-- 
2.39.5 (Apple Git-154)

_______________________________________________
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".

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [FFmpeg-devel] [PATCH 3/3] avformat/rtsp: check copy_tls_opts_dict
  2025-07-08 15:09 [FFmpeg-devel] [PATCH 1/3] avformat/rtsp: fix misleading indentation Marvin Scholz
  2025-07-08 15:09 ` [FFmpeg-devel] [PATCH 2/3] avformat/rtsp: use av_unreachable Marvin Scholz
@ 2025-07-08 15:09 ` Marvin Scholz
  1 sibling, 0 replies; 3+ messages in thread
From: Marvin Scholz @ 2025-07-08 15:09 UTC (permalink / raw)
  To: ffmpeg-devel

Properly check av_dict_set return values and propagate them to
the caller so they can be handled.
---
 libavformat/rtsp.c | 43 +++++++++++++++++++++++++++++++++----------
 1 file changed, 33 insertions(+), 10 deletions(-)

diff --git a/libavformat/rtsp.c b/libavformat/rtsp.c
index c6203a07de..519fe29a22 100644
--- a/libavformat/rtsp.c
+++ b/libavformat/rtsp.c
@@ -143,18 +143,29 @@ static AVDictionary *map_to_opts(RTSPState *rt)
     return opts;
 }
 
+#define ERR_RET(c)      \
+    do {                \
+        int ret = c;    \
+        if (ret < 0)    \
+            return ret; \
+    } while (0)
+
 /**
  * Add the TLS options of the given RTSPState to the dict
  */
-static void copy_tls_opts_dict(RTSPState *rt, AVDictionary **dict)
+static int copy_tls_opts_dict(RTSPState *rt, AVDictionary **dict)
 {
-    av_dict_set_int(dict, "tls_verify", rt->tls_opts.verify, 0);
-    av_dict_set(dict, "ca_file", rt->tls_opts.ca_file, 0);
-    av_dict_set(dict, "cert_file", rt->tls_opts.cert_file, 0);
-    av_dict_set(dict, "key_file", rt->tls_opts.key_file, 0);
-    av_dict_set(dict, "verifyhost", rt->tls_opts.host, 0);
+    ERR_RET(av_dict_set_int(dict, "tls_verify", rt->tls_opts.verify, 0));
+    ERR_RET(av_dict_set(dict, "ca_file", rt->tls_opts.ca_file, 0));
+    ERR_RET(av_dict_set(dict, "cert_file", rt->tls_opts.cert_file, 0));
+    ERR_RET(av_dict_set(dict, "key_file", rt->tls_opts.key_file, 0));
+    ERR_RET(av_dict_set(dict, "verifyhost", rt->tls_opts.host, 0));
+
+    return 0;
 }
 
+#undef ERR_RET
+
 static void get_word_until_chars(char *buf, int buf_size,
                                  const char *sep, const char **pp)
 {
@@ -1837,8 +1848,14 @@ redirect:
         AVDictionary *options = NULL;
 
         av_dict_set_int(&options, "timeout", rt->stimeout, 0);
-        if (https_tunnel)
-            copy_tls_opts_dict(rt, &options);
+        if (https_tunnel) {
+            int ret = copy_tls_opts_dict(rt, &options);
+            if (ret < 0) {
+                av_dict_free(&options);
+                err = ret;
+                goto fail;
+            }
+        }
 
         ff_url_join(httpname, sizeof(httpname), https_tunnel ? "https" : "http", auth, host, port, "%s", path);
         snprintf(sessioncookie, sizeof(sessioncookie), "%08x%08x",
@@ -1924,8 +1941,14 @@ redirect:
         int ret;
         /* open the tcp connection */
         AVDictionary *proto_opts = NULL;
-        if (strcmp("tls", lower_rtsp_proto) == 0)
-            copy_tls_opts_dict(rt, &proto_opts);
+        if (strcmp("tls", lower_rtsp_proto) == 0) {
+            ret = copy_tls_opts_dict(rt, &proto_opts);
+            if (ret < 0) {
+                av_dict_free(&proto_opts);
+                err = ret;
+                goto fail;
+            }
+        }
 
         ff_url_join(tcpname, sizeof(tcpname), lower_rtsp_proto, NULL,
                     host, port,
-- 
2.39.5 (Apple Git-154)

_______________________________________________
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".

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2025-07-08 15:10 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-07-08 15:09 [FFmpeg-devel] [PATCH 1/3] avformat/rtsp: fix misleading indentation Marvin Scholz
2025-07-08 15:09 ` [FFmpeg-devel] [PATCH 2/3] avformat/rtsp: use av_unreachable Marvin Scholz
2025-07-08 15:09 ` [FFmpeg-devel] [PATCH 3/3] avformat/rtsp: check copy_tls_opts_dict Marvin Scholz

Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://master.gitmailbox.com/ffmpegdev/0 ffmpegdev/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 ffmpegdev ffmpegdev/ https://master.gitmailbox.com/ffmpegdev \
		ffmpegdev@gitmailbox.com
	public-inbox-index ffmpegdev

Example config snippet for mirrors.


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git