On Mon, Dec 12, 2011 at 7:06 PM, Sean McGovern <[email protected]> wrote:
>
> 'ff_id3v1_genre_str' is declared const, so don't assign it directly
> to another variable that is not also declared const.
> ---
> libavformat/id3v2.c | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/libavformat/id3v2.c b/libavformat/id3v2.c
> index deb652d..65a6f9c 100644
> --- a/libavformat/id3v2.c
> +++ b/libavformat/id3v2.c
> @@ -243,7 +243,7 @@ static void read_ttag(AVFormatContext *s, AVIOContext
> *pb, int taglen, const cha
> && (sscanf(dst, "(%d)", &genre) == 1 || sscanf(dst, "%d", &genre) ==
> 1)
> && genre <= ID3v1_GENRE_MAX) {
> av_freep(&dst);
dst is NULL from av_freep
> - dst = ff_id3v1_genre_str[genre];
> + av_strlcpy(dst, ff_id3v1_genre_str[genre], ID3v1_GENRE_MAX + 1);
You are copying into a NULL pointer. Perhaps you mean dst =
av_strdup(ff_id3v1_genre_str[genre])?
> } else if (!(strcmp(key, "TXXX") && strcmp(key, "TXX"))) {
> /* dst now contains the key, need to get value */
> key = dst;
> --
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel