Skip to content

Commit cc10aab

Browse files
committed
Merge branch 'v0.24.x'
2 parents 1f6c60c + 8629e58 commit cc10aab

5 files changed

Lines changed: 33 additions & 14 deletions

File tree

NEWS

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,12 @@ ver 0.25 (not yet released)
2323
* switch to C++23
2424
* require Meson 1.2
2525

26+
ver 0.24.13 (not yet released)
27+
* configuration
28+
- add range checks to number parser
29+
* output
30+
- pipewire: fix file descriptor leak bug after connect failure
31+
2632
ver 0.24.12 (2026/05/15)
2733
* protocol
2834
- allow empty URI in "lsinfo", "add" etc. (0.24.11 regression)

python/build/libs.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,8 @@
4040
)
4141

4242
libopenmpt = AutotoolsProject(
43-
'https://lib.openmpt.org/files/libopenmpt/src/libopenmpt-0.8.6+release.autotools.tar.gz',
44-
'caa2fa959e389f4374d9e2df3af5c633452c12dd80442cba2e89cb7ff2b93c5b',
43+
'https://lib.openmpt.org/files/libopenmpt/src/libopenmpt-0.8.7+release.autotools.tar.gz',
44+
'275c29ef47be9992f62a35fcc96f7ca05c06d2fd05c9298b8dee9f743f75b089',
4545
'lib/libopenmpt.a',
4646
[
4747
'--disable-shared', '--enable-static',
@@ -53,7 +53,7 @@
5353
'--without-portaudio', '--without-portaudiocpp', '--without-sndfile',
5454
'--without-flac',
5555
],
56-
base='libopenmpt-0.8.6+release.autotools',
56+
base='libopenmpt-0.8.7+release.autotools',
5757
)
5858

5959
wildmidi = CmakeProject(

src/config/Parser.cxx

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
#include "util/StringUtil.hxx"
88

99
#include <cstdlib>
10+
#include <cerrno>
1011

1112
bool
1213
ParseBool(const char *value)
@@ -27,10 +28,14 @@ long
2728
ParseLong(const char *s)
2829
{
2930
char *endptr;
31+
errno = 0;
3032
long value = strtol(s, &endptr, 10);
3133
if (endptr == s || *endptr != 0)
3234
throw std::runtime_error("Failed to parse number");
3335

36+
if (errno == ERANGE)
37+
throw std::runtime_error("Number out of range");
38+
3439
return value;
3540
}
3641

@@ -80,10 +85,14 @@ std::size_t
8085
ParseSize(const char *s, std::size_t default_factor)
8186
{
8287
char *endptr;
88+
errno = 0;
8389
std::size_t value = strtoul(s, &endptr, 10);
8490
if (endptr == s)
8591
throw std::runtime_error("Failed to parse integer");
8692

93+
if (errno == ERANGE)
94+
throw std::runtime_error("Integer out of range");
95+
8796
static constexpr std::size_t KILO = 1024;
8897
static constexpr std::size_t MEGA = 1024 * KILO;
8998
static constexpr std::size_t GIGA = 1024 * MEGA;

src/output/plugins/PipeWireOutputPlugin.cxx

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -601,8 +601,12 @@ PipeWireOutput::Open(AudioFormat &audio_format)
601601
target_id,
602602
static_cast<enum pw_stream_flags>(stream_flags),
603603
params, 1);
604-
if (error < 0)
604+
if (error < 0) {
605+
ring_buffer = {};
606+
pw_stream_destroy(stream);
607+
stream = nullptr;
605608
throw PipeWire::MakeError(error, "Failed to connect stream");
609+
}
606610
}
607611

608612
void

subprojects/sqlite3.wrap

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
[wrap-file]
2-
directory = sqlite-amalgamation-3530100
3-
source_url = https://www.sqlite.org/2026/sqlite-amalgamation-3530100.zip
4-
source_filename = sqlite-amalgamation-3530100.zip
5-
source_hash = 36ad6e7f38540a3b21a2ac36340833f0a9e426bc1c752751c3ba669466827eae
6-
source_fallback_url = https://wrapdb.mesonbuild.com/v2/sqlite3_3.53.1-1/get_source/sqlite-amalgamation-3530100.zip
7-
patch_filename = sqlite3_3.53.1-1_patch.zip
8-
patch_url = https://wrapdb.mesonbuild.com/v2/sqlite3_3.53.1-1/get_patch
9-
patch_fallback_url = https://github.com/mesonbuild/wrapdb/releases/download/sqlite3_3.53.1-1/sqlite3_3.53.1-1_patch.zip
10-
patch_hash = d1a5758285f8a0659317f0f84e9c9c8c839fe7c1d19448ac62d95ecefd5ba3a5
11-
wrapdb_version = 3.53.1-1
2+
directory = sqlite-amalgamation-3530200
3+
source_url = https://www.sqlite.org/2026/sqlite-amalgamation-3530200.zip
4+
source_filename = sqlite-amalgamation-3530200.zip
5+
source_hash = 8a310d0a16c7a90cacd4c884e70faa51c902afed2a89f63aaa0126ab83558a32
6+
source_fallback_url = https://wrapdb.mesonbuild.com/v2/sqlite3_3.53.2-1/get_source/sqlite-amalgamation-3530200.zip
7+
patch_filename = sqlite3_3.53.2-1_patch.zip
8+
patch_url = https://wrapdb.mesonbuild.com/v2/sqlite3_3.53.2-1/get_patch
9+
patch_fallback_url = https://github.com/mesonbuild/wrapdb/releases/download/sqlite3_3.53.2-1/sqlite3_3.53.2-1_patch.zip
10+
patch_hash = c3e1bdf6b571da4e7fbe9bd6513c2ba0f8d77a6ee7f724bb62f9614fbf8fa486
11+
wrapdb_version = 3.53.2-1
1212

1313
[provide]
1414
dependency_names = sqlite3

0 commit comments

Comments
 (0)