summaryrefslogtreecommitdiffstats
path: root/video
diff options
context:
space:
mode:
authorNRK <nrk@disroot.org>2023-07-10 18:03:58 +0600
committersfan5 <sfan5@live.de>2023-07-11 19:55:28 +0200
commitdc06dec1eed14a48c8563f237b745a2dabaed81b (patch)
treed9607eb077d700ff4facf714b34c1c153f20fa16 /video
parent6b76000f0b2ae6d1755b0aa9599236145a4a2524 (diff)
downloadmpv-dc06dec1eed14a48c8563f237b745a2dabaed81b.tar.bz2
mpv-dc06dec1eed14a48c8563f237b745a2dabaed81b.tar.xz
video/image_writer: check for write errors
make sure that fwrite is error checked. and if any data was still remaining on the buffer, it will be flushed - and errors checked - via the fclose() call below.
Diffstat (limited to 'video')
-rw-r--r--video/image_writer.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/video/image_writer.c b/video/image_writer.c
index a61455d6f3..8cdd5e98ef 100644
--- a/video/image_writer.c
+++ b/video/image_writer.c
@@ -127,7 +127,7 @@ static enum AVPixelFormat replace_j_format(enum AVPixelFormat fmt)
static bool write_lavc(struct image_writer_ctx *ctx, mp_image_t *image, const char *filename)
{
- FILE* fp = fopen(filename, "wb");
+ FILE *fp = fopen(filename, "wb");
if (!fp) {
MP_ERR(ctx, "Error opening '%s' for writing!\n", filename);
return false;
@@ -229,9 +229,8 @@ static bool write_lavc(struct image_writer_ctx *ctx, mp_image_t *image, const ch
ret = avcodec_receive_packet(avctx, pkt);
if (ret < 0)
goto error_exit;
- success = true;
- fwrite(pkt->data, pkt->size, 1, fp);
+ success = fwrite(pkt->data, pkt->size, 1, fp) == 1;
error_exit:
avcodec_free_context(&avctx);