Commit af8500bb authored by Takashi Iwai's avatar Takashi Iwai

ALSA: ctxfi - Fix possible buffer pointer overrun

Fix possible buffer pointer overruns.  Back to zero when it's equal
or over the buffer size.
Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
parent 514eef9c
...@@ -243,6 +243,8 @@ ct_pcm_playback_pointer(struct snd_pcm_substream *substream) ...@@ -243,6 +243,8 @@ ct_pcm_playback_pointer(struct snd_pcm_substream *substream)
/* Read out playback position */ /* Read out playback position */
position = atc->pcm_playback_position(atc, apcm); position = atc->pcm_playback_position(atc, apcm);
position = bytes_to_frames(runtime, position); position = bytes_to_frames(runtime, position);
if (position >= runtime->buffer_size)
position = 0;
return position; return position;
} }
...@@ -343,6 +345,8 @@ ct_pcm_capture_pointer(struct snd_pcm_substream *substream) ...@@ -343,6 +345,8 @@ ct_pcm_capture_pointer(struct snd_pcm_substream *substream)
/* Read out playback position */ /* Read out playback position */
position = atc->pcm_capture_position(atc, apcm); position = atc->pcm_capture_position(atc, apcm);
position = bytes_to_frames(runtime, position); position = bytes_to_frames(runtime, position);
if (position >= runtime->buffer_size)
position = 0;
return position; return position;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment