aboutsummaryrefslogtreecommitdiffstats
path: root/src/inputPlugins/wavpack_plugin.c
diff options
context:
space:
mode:
authorMax Kellermann <max@duempel.org>2008-08-26 08:27:14 +0200
committerMax Kellermann <max@duempel.org>2008-08-26 08:27:14 +0200
commitcf139dc012fe592d6e6d6165d536392e02dcb759 (patch)
tree38abeb3594f18a87ce55e4f16907095c0153af5f /src/inputPlugins/wavpack_plugin.c
parent2e822a577d95c962b871bf7106b2268ac249ea30 (diff)
downloadmpd-cf139dc012fe592d6e6d6165d536392e02dcb759.tar.gz
mpd-cf139dc012fe592d6e6d6165d536392e02dcb759.tar.xz
mpd-cf139dc012fe592d6e6d6165d536392e02dcb759.zip
wavpack: don't use "isp" before initialization
The old code called can_seek() with the uninitialized pointer "isp.is". Has this ever worked? Anyway, initialize "isp" first, then call can_seek(&isp).
Diffstat (limited to 'src/inputPlugins/wavpack_plugin.c')
-rw-r--r--src/inputPlugins/wavpack_plugin.c5
1 files changed, 1 insertions, 4 deletions
diff --git a/src/inputPlugins/wavpack_plugin.c b/src/inputPlugins/wavpack_plugin.c
index af4a75ebf..e4ac8b1e7 100644
--- a/src/inputPlugins/wavpack_plugin.c
+++ b/src/inputPlugins/wavpack_plugin.c
@@ -507,15 +507,12 @@ static int wavpack_streamdecode(struct decoder * decoder, InputStream *is)
InputStream is_wvc;
int open_flags = OPEN_2CH_MAX | OPEN_NORMALIZE /*| OPEN_STREAMING*/;
InputStreamPlus isp, isp_wvc;
- int canseek;
if (wavpack_open_wvc(decoder, &is_wvc)) {
initInputStreamPlus(&isp_wvc, decoder, &is_wvc);
open_flags |= OPEN_WVC;
}
- canseek = can_seek(&isp);
-
initInputStreamPlus(&isp, decoder, is);
wpc = WavpackOpenFileInputEx(&mpd_is_reader, &isp, &isp_wvc, error,
open_flags, 15);
@@ -525,7 +522,7 @@ static int wavpack_streamdecode(struct decoder * decoder, InputStream *is)
return -1;
}
- wavpack_decode(decoder, wpc, canseek, NULL);
+ wavpack_decode(decoder, wpc, can_seek(&isp), NULL);
WavpackCloseFile(wpc);
if (open_flags & OPEN_WVC)