Files
q3-sydney-qvm/code/client
Mickaël Thomas 84daa28267 Fix memory corruption in S_TransferPaintBuffer
When using a non-default sound configuration (such as 6 channels), after
a long time (about 4.5hours for 6 channels at 22050 Hz) an overflow will
occur in `S_TransferPaintBuffer`, causing an out of bounds write into
the dma buffer.

The problematic line is:
```
out_idx = (s_paintedtime * dma.channels) % dma.samples;
```

With `s_paintedtime` large enough, the result of the multiplication will
overflow to a negative number (since `s_paintedtime` is signed), and the
index into the output buffer will be negative.
2021-12-08 18:46:58 +00:00
..
2017-11-22 01:40:20 -06:00
2018-04-08 21:41:31 -05:00
2018-04-08 22:40:37 -05:00
2017-07-28 16:32:22 +01:00
2017-11-22 01:40:20 -06:00
2016-08-08 02:36:10 -07:00
2014-02-22 18:06:04 -06:00
2016-06-12 17:17:33 -04:00
2017-11-22 01:40:20 -06:00
2013-02-17 18:32:05 -06:00
2013-02-17 18:32:05 -06:00
2018-05-01 16:18:44 -05:00
2018-04-08 21:41:31 -05:00
2012-06-18 16:32:03 +00:00