Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Xiph.Org
Ezstream
Commits
80afe5ba
Commit
80afe5ba
authored
Jan 07, 2021
by
Moritz Grimm
Browse files
Fix crash related to unconfigured intakes
parent
656fff81
Changes
3
Hide whitespace changes
Inline
Side-by-side
NEWS
View file @
80afe5ba
...
...
@@ -4,6 +4,8 @@ Changes in 1.0.2, released on XXXX-XX-XX:
that do not contain the respective values. From gui-lux on Github (#16).
* Fix a crash in one instance of querying the metadata program. From taku0220
on Github (#23).
* Fix a crash when referencing an unconfigured intake in a stream. From
Optiqus on Github (#28).
* Minor documentation tweak
...
...
src/stream.c
View file @
80afe5ba
...
...
@@ -383,6 +383,7 @@ stream_configure(struct stream *s)
cfg_server_list_t
servers
;
cfg_stream_t
cfg_stream
;
cfg_server_t
cfg_server
;
cfg_intake_t
cfg_intake
;
const
char
*
server
;
streams
=
cfg_get_streams
();
...
...
@@ -409,6 +410,14 @@ stream_configure(struct stream *s)
return
(
-
1
);
}
cfg_intake
=
stream_get_cfg_intake
(
s
);
if
(
0
>
cfg_intake_validate
(
cfg_intake
,
NULL
))
{
log_error
(
"stream: %s: referencing unconfigured intake (%s)"
,
s
->
name
,
cfg_intake_get_name
(
cfg_intake
));
_stream_reset
(
s
);
return
(
-
1
);
}
return
(
0
);
}
...
...
tests/check_stream.c
View file @
80afe5ba
...
...
@@ -10,6 +10,8 @@ Suite * stream_suite(void);
void
setup_checked
(
void
);
void
teardown_checked
(
void
);
cfg_intake_list_t
intakes
;
START_TEST
(
test_stream
)
{
stream_t
s
;
...
...
@@ -17,6 +19,7 @@ START_TEST(test_stream)
char
*
m_str
;
cfg_server_t
srv_cfg
;
cfg_stream_t
str_cfg
;
cfg_intake_t
int_cfg
;
cfg_server_list_t
servers
=
cfg_get_servers
();
cfg_stream_list_t
streams
=
cfg_get_streams
();
...
...
@@ -32,7 +35,8 @@ START_TEST(test_stream)
ck_assert_ptr_ne
(
srv_cfg
,
NULL
);
str_cfg
=
stream_get_cfg_stream
(
s
);
ck_assert_ptr_ne
(
str_cfg
,
NULL
);
ck_assert_ptr_ne
(
stream_get_cfg_intake
(
s
),
NULL
);
int_cfg
=
stream_get_cfg_intake
(
s
);
ck_assert_ptr_ne
(
int_cfg
,
NULL
);
ck_assert_int_ne
(
stream_configure
(
s
),
0
);
ck_assert_int_eq
(
cfg_server_set_hostname
(
srv_cfg
,
servers
,
"localhost"
,
NULL
),
0
);
...
...
@@ -48,6 +52,8 @@ START_TEST(test_stream)
ck_assert_int_eq
(
cfg_stream_set_mountpoint
(
str_cfg
,
streams
,
"/test.ogg"
,
NULL
),
0
);
ck_assert_int_ne
(
stream_configure
(
s
),
0
);
ck_assert_int_eq
(
cfg_stream_set_format
(
str_cfg
,
streams
,
"mp3"
,
NULL
),
0
);
ck_assert_int_ne
(
stream_configure
(
s
),
0
);
cfg_intake_set_filename
(
int_cfg
,
intakes
,
"stream_test"
,
NULL
);
ck_assert_int_eq
(
stream_configure
(
s
),
0
);
ck_assert_int_eq
(
cfg_stream_set_format
(
str_cfg
,
streams
,
"ogg"
,
NULL
),
0
);
ck_assert_int_eq
(
stream_configure
(
s
),
0
);
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment