commit - 33e8ddf3b1df91d66664dcf0dc7011d089a74611
commit + 986b215cdb6f7ee801a41ed35e5fef08aeb33d29
blob - 7df1d378d1b826a3bab7a241cf6c9d7f257c9b0f
blob + 6e913d31c9da3e22f3d7a4b78ed61aab96a41fd5
--- player_flac.c
+++ player_flac.c
FLAC__StreamDecoder *decoder = NULL;
FLAC__StreamDecoderInitStatus init_status;
- if ((f = fdopen(fd, "r")) == NULL)
- err(1, "fdopen");
+ if ((f = fdopen(fd, "r")) == NULL) {
+ *errstr = "fdopen failed";
+ close(fd);
+ return -1;
+ }
decoder = FLAC__stream_decoder_new();
- if (decoder == NULL)
- err(1, "flac stream decoder");
+ if (decoder == NULL) {
+ *errstr = "FLAC__stream_decoder_new() failed";
+ fclose(f);
+ return -1;
+ }
FLAC__stream_decoder_set_md5_checking(decoder, 1);
blob - 1dfcd33df7e7825abdeae89a9a4711ecde1fcbe3
blob + 3f7581bb2de0a8daec69af42b873a2d4a2b29cac
--- player_oggvorbis.c
+++ player_oggvorbis.c
int64_t seek = -1;
int current_section, eof = 0, ret = 0;
- if ((f = fdopen(fd, "r")) == NULL)
- err(1, "fdopen");
+ if ((f = fdopen(fd, "r")) == NULL) {
+ *errstr = "fdopen failed";
+ close(fd);
+ return -1;
+ }
if (ov_open_callbacks(f, &vf, NULL, 0, OV_CALLBACKS_NOCLOSE) < 0) {
*errstr = "input is not an Ogg bitstream";
blob - 0bf3329cc72a047d61b5f62504afd5445d2b5b2d
blob + 7c54607a6066686461bb5a61e212e5a379d7f4d0
--- player_opus.c
+++ player_opus.c
OpusFileCallbacks cb = {NULL, NULL, NULL, NULL};
int i, li, prev_li = -1, duration_set = 0;
- if ((f = op_fdopen(&cb, fd, "r")) == NULL)
- err(1, "fdopen");
+ if ((f = op_fdopen(&cb, fd, "r")) == NULL) {
+ *errstr = "fdopen failed";
+ close(fd);
+ return -1;
+ }
of = op_open_callbacks(f, &cb, NULL, 0, &r);
if (of == NULL) {