On Tuesday 31 of March 2015 17:03:30 Szymon Janc wrote: > audio_stream_in_frame_size or audio_stream_frame_size can return 0 so > this needs to be checked before divide. > --- > android/hal-sco.c | 20 +++++++++++++------- > 1 file changed, 13 insertions(+), 7 deletions(-) > > diff --git a/android/hal-sco.c b/android/hal-sco.c > index 380b2a8..2c95866 100644 > --- a/android/hal-sco.c > +++ b/android/hal-sco.c > @@ -1054,17 +1054,23 @@ static ssize_t in_read(struct audio_stream_in > *stream, void *buffer, size_t bytes) > { > struct sco_stream_in *in = (struct sco_stream_in *) stream; > -#if ANDROID_VERSION >= PLATFORM_VER(5, 0, 0) > - size_t frame_size = audio_stream_in_frame_size(&in->stream); > -#else > - size_t frame_size = audio_stream_frame_size(&stream->common); > -#endif > - size_t frame_num = bytes / frame_size; > - size_t input_frame_num = frame_num; > + size_t frame_size, frame_num, input_frame_num; > void *read_buf = buffer; > size_t total = bytes; > int ret; > > +#if ANDROID_VERSION >= PLATFORM_VER(5, 0, 0) > + frame_size = audio_stream_in_frame_size(&in->stream); > +#else > + frame_size = audio_stream_frame_size(&stream->common); > +#endif > + > + if (!frame_size) > + return -1; > + > + frame_num = bytes / frame_size; > + input_frame_num = frame_num; > + > DBG("Read from fd %d bytes %zu", sco_fd, bytes); > > if (ipc_get_sco_fd(&in->bd_addr) != SCO_STATUS_SUCCESS) Applied. -- BR Szymon Janc -- To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html