Am 06.03.22 um 21:38 schrieb Thilo Borgmann:
Am 22.02.22 um 12:36 schrieb Thilo Borgmann:
Am 08.02.22 um 11:41 schrieb Thilo Borgmann:
Am 08.02.22 um 10:27 schrieb Andreas Rheinhardt:
Thilo Borgmann:
Am 01.02.22 um 00:40 schrieb Andreas Rheinhardt:
Thilo Borgmann:
Am 31.01.22 um 14:08 schrieb Nicolas George:
Thilo Borgman (12022-01-31):
v10 attached.

Also going to apply soon if there are no more comments.

I think you neglected to attach the file.

omg stupid me. Here it is...

-Thilo


Seems like I misunderstood your code and ignored the outer while. Your
code can leak if there are multiple 'N', because (as I said)


+
+            if (fmt_new && fmt_new != argv[0] && fmt_new !=
fmt_default)
+                av_freep(&fmt_new);
+

does not free fmt if it is already allocated. It is possible to fix this
by adding an char *fmt_allocated = NULL; at outer scope and a fmt_new in
the block that is executed if a 'N' is executed. (You have to free
fmt_allocated immediately after av_asprintf().)

But maybe it would be best to use an AVBPrint to write the new string
instead of allocating a new string for every %N encountered.

v11 does it that way.



+    av_bprintf(&fmt_bp, "%s", fmt_begin);
+    av_bprint_finalize(&fmt_bp, (char**)&fmt);
+    if (!fmt)
+        return AVERROR(ENOMEM);
+
      av_bprint_strftime(bp, fmt, &tm);
+    av_freep(&fmt);
+

This is not how one uses an AVBPrint: You are loosing the
small-string-optimization that way.
Furthermore, you do not check for truncation.

v12 including IRC comments.

Ping.

Will push soon if there are no more comments.

Pushed, thanks!

-Thilo
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to