2018-04-18 21:10 GMT+02:00, James Almer <jamr...@gmail.com>: > On 4/18/2018 2:45 PM, Carl Eugen Hoyos wrote: >> Hi! >> >> Attached patch is supposed to fix a warning (and a bug), is this the >> right and preferred fix? >> >> Please comment, Carl Eugen >> >> >> 0001-lavf-dashdec-Do-not-use-memcpy-to-copy-a-struct.patch >> >> >> From cf7d2aefc1a3b3a2e9f578ede43906ed6ee96bfd Mon Sep 17 00:00:00 2001 >> From: Carl Eugen Hoyos <ceffm...@gmail.com> >> Date: Wed, 18 Apr 2018 19:42:57 +0200 >> Subject: [PATCH] lavf/dashdec: Do not use memcpy() to copy a struct. >> >> Fixes a warning: >> libavformat/dashdec.c:1900:65: warning: argument to 'sizeof' in 'memcpy' >> call is the same pointer type 'struct fragment *' as the destination; >> expected 'struct fragment' or an explicit length >> --- >> libavformat/dashdec.c | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/libavformat/dashdec.c b/libavformat/dashdec.c >> index 6304ad9..917fb54 100644 >> --- a/libavformat/dashdec.c >> +++ b/libavformat/dashdec.c >> @@ -1897,7 +1897,7 @@ static int init_section_compare_audio(DASHContext >> *c) >> >> static void copy_init_section(struct representation *rep_dest, struct >> representation *rep_src) >> { >> - memcpy(rep_dest->init_section, rep_src->init_section, >> sizeof(rep_src->init_section)); >> + rep_dest->init_section = rep_src->init_section; > > This would only copy the pointer. The fact memcpy was used here makes me > think the intention was to copy the contents of the struct, so something > like > > *rep_dest->init_section = *rep_src->init_section;
Of course. New patch attached, Carl Eugen
From cf7d2aefc1a3b3a2e9f578ede43906ed6ee96bfd Mon Sep 17 00:00:00 2001 From: Carl Eugen Hoyos <ceffm...@gmail.com> Date: Wed, 18 Apr 2018 19:42:57 +0200 Subject: [PATCH] lavf/dashdec: Do not use memcpy() to copy a struct. Fixes a warning: libavformat/dashdec.c:1900:65: warning: argument to 'sizeof' in 'memcpy' call is the same pointer type 'struct fragment *' as the destination; expected 'struct fragment' or an explicit length --- libavformat/dashdec.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavformat/dashdec.c b/libavformat/dashdec.c index 6304ad9..917fb54 100644 --- a/libavformat/dashdec.c +++ b/libavformat/dashdec.c @@ -1897,7 +1897,7 @@ static int init_section_compare_audio(DASHContext *c) static void copy_init_section(struct representation *rep_dest, struct representation *rep_src) { - memcpy(rep_dest->init_section, rep_src->init_section, sizeof(rep_src->init_section)); + *rep_dest->init_section = *rep_src->init_section; rep_dest->init_sec_buf = av_mallocz(rep_src->init_sec_buf_size); memcpy(rep_dest->init_sec_buf, rep_src->init_sec_buf, rep_src->init_sec_data_len); rep_dest->init_sec_buf_size = rep_src->init_sec_buf_size; -- 1.7.10.4
_______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel