From cb5b953d2541d41568c0e44f5237eda71dae02c4 Mon Sep 17 00:00:00 2001 From: Lev Serebryakov Date: Tue, 14 Feb 2017 17:05:16 +0300 Subject: [PATCH] Non-volatile access to volatile object is UB. --- src/librtlsdr.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/librtlsdr.c b/src/librtlsdr.c index 06edebf..2fe49b4 100644 --- a/src/librtlsdr.c +++ b/src/librtlsdr.c @@ -192,7 +192,7 @@ struct rtlsdr_dev { rtlsdr_read_async_cb_t cb; void *cb_ctx; volatile enum rtlsdr_async_status async_status; - volatile int async_cancel; + int async_cancel; int use_zerocopy; /* rtl demod context */ uint32_t rate; /* Hz */ @@ -3539,7 +3539,7 @@ int rtlsdr_read_async(rtlsdr_dev_t *dev, rtlsdr_read_async_cb_t cb, void *ctx, while (RTLSDR_INACTIVE != dev->async_status) { r = libusb_handle_events_timeout_completed(dev->ctx, &tv, - (int *)&dev->async_cancel); + &dev->async_cancel); if (r < 0) { /*fprintf(stderr, "handle_events returned: %d\n", r);*/ if (r == LIBUSB_ERROR_INTERRUPTED) /* stray signal */