Merge branch 'v0.20.x'
This commit is contained in:
commit
7e46277016
2
NEWS
2
NEWS
@ -10,6 +10,8 @@ ver 0.20.5 (not yet released)
|
||||
- id3: fix memory leak on corrupt ID3 tags
|
||||
* decoder
|
||||
- sidplay: don't require libsidutils when building with libsidplayfp
|
||||
* output
|
||||
- httpd: fix two buffer overflows in IcyMetaData length calculation
|
||||
* mixer
|
||||
- alsa: fix crash bug
|
||||
|
||||
|
@ -55,7 +55,8 @@
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
<varname>track</varname>: the track number within the album.
|
||||
<varname>track</varname>: the decimal track number within the
|
||||
album.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
@ -103,7 +104,8 @@
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
<varname>disc</varname>: the disc number in a multi-disc album.
|
||||
<varname>disc</varname>: the decimal disc number in a multi-disc
|
||||
album.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
|
@ -101,6 +101,7 @@ public:
|
||||
~AlsaInputStream() {
|
||||
BlockingCall(MultiSocketMonitor::GetEventLoop(), [this](){
|
||||
MultiSocketMonitor::Reset();
|
||||
DeferredMonitor::Cancel();
|
||||
});
|
||||
|
||||
snd_pcm_close(capture_handle);
|
||||
|
@ -58,6 +58,7 @@ public:
|
||||
~AlsaMixerMonitor() {
|
||||
BlockingCall(MultiSocketMonitor::GetEventLoop(), [this](){
|
||||
MultiSocketMonitor::Reset();
|
||||
DeferredMonitor::Cancel();
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -60,7 +60,11 @@ icy_server_metadata_string(const char *stream_title, const char* stream_url)
|
||||
{
|
||||
// The leading n is a placeholder for the length information
|
||||
auto icy_metadata = FormatString("nStreamTitle='%s';"
|
||||
"StreamUrl='%s';",
|
||||
"StreamUrl='%s';"
|
||||
/* pad 15 spaces just in case
|
||||
the length needs to be
|
||||
rounded up */
|
||||
" ",
|
||||
stream_title,
|
||||
stream_url);
|
||||
|
||||
@ -68,7 +72,7 @@ icy_server_metadata_string(const char *stream_title, const char* stream_url)
|
||||
|
||||
meta_length--; // subtract placeholder
|
||||
|
||||
meta_length = ((int)meta_length / 16) + 1;
|
||||
meta_length = meta_length / 16;
|
||||
|
||||
icy_metadata[0] = meta_length;
|
||||
|
||||
@ -109,5 +113,5 @@ icy_server_metadata_page(const Tag &tag, const TagType *types)
|
||||
if (icy_string.IsNull())
|
||||
return nullptr;
|
||||
|
||||
return Page::Copy(icy_string.c_str(), (icy_string[0] * 16) + 1);
|
||||
return Page::Copy(icy_string.c_str(), uint8_t(icy_string[0]) * 16 + 1);
|
||||
}
|
||||
|
@ -44,7 +44,7 @@ add_tag_tag(TagType type, const char *value, void *ctx)
|
||||
unsigned n = strtoul(value, &end, 10);
|
||||
if (value != end) {
|
||||
char s[21];
|
||||
if (snprintf(s, 21, "%u", n) >= 0)
|
||||
if (snprintf(s, 21, "%u", n) > 0)
|
||||
tag.AddItem(type, s);
|
||||
}
|
||||
} else
|
||||
|
Loading…
Reference in New Issue
Block a user