From eb63ee8ec62a250f0b23f7ac939653d387a054f0 Mon Sep 17 00:00:00 2001 From: "tsuda.kageyu@gmail.com" Date: Thu, 23 Aug 2012 11:09:22 +0900 Subject: [PATCH] Remove possible cross binary boundary delete --- taglib/mpeg/id3v1/id3v1tag.cpp | 8 ++++---- taglib/mpeg/id3v1/id3v1tag.h | 2 ++ 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/taglib/mpeg/id3v1/id3v1tag.cpp b/taglib/mpeg/id3v1/id3v1tag.cpp index 94d533ae..e9eb47bf 100644 --- a/taglib/mpeg/id3v1/id3v1tag.cpp +++ b/taglib/mpeg/id3v1/id3v1tag.cpp @@ -194,10 +194,10 @@ void ID3v1::Tag::setTrack(uint i) void ID3v1::Tag::setStringHandler(const StringHandler *handler) { - if(TagPrivate::stringHandler != &defaultStringHandler) - delete TagPrivate::stringHandler; - - TagPrivate::stringHandler = handler; + if (handler) + TagPrivate::stringHandler = handler; + else + TagPrivate::stringHandler = &defaultStringHandler; } //////////////////////////////////////////////////////////////////////////////// diff --git a/taglib/mpeg/id3v1/id3v1tag.h b/taglib/mpeg/id3v1/id3v1tag.h index a90ac531..ad3fed99 100644 --- a/taglib/mpeg/id3v1/id3v1tag.h +++ b/taglib/mpeg/id3v1/id3v1tag.h @@ -154,6 +154,8 @@ namespace TagLib { /*! * Sets the string handler that decides how the ID3v1 data will be * converted to and from binary data. + * If the parameter \a handler is null, default ISO-8859-1 handler + * is restored. * * \see StringHandler */ -- 2.40.0