Fix size of memcpy in SDL_AudioDeviceFormatChangedAlreadyLocked
And add diagnostic that allows to find this kind of issue in clang-tidymain
parent
4bb426abad
commit
778e8185cd
|
@ -25,6 +25,7 @@ Checks: >
|
||||||
clang-analyzer-core.*,
|
clang-analyzer-core.*,
|
||||||
clang-analyzer-valist.*,
|
clang-analyzer-valist.*,
|
||||||
clang-analyzer-unix.Malloc,
|
clang-analyzer-unix.Malloc,
|
||||||
|
clang-diagnostic-*,
|
||||||
google-readability-casting,
|
google-readability-casting,
|
||||||
misc-misleading-bidirectional,
|
misc-misleading-bidirectional,
|
||||||
misc-misleading-identifier,
|
misc-misleading-identifier,
|
||||||
|
|
|
@ -1681,7 +1681,7 @@ int SDL_AudioDeviceFormatChangedAlreadyLocked(SDL_AudioDevice *device, const SDL
|
||||||
const SDL_bool iscapture = device->iscapture;
|
const SDL_bool iscapture = device->iscapture;
|
||||||
|
|
||||||
if ((device->spec.format != newspec->format) || (device->spec.channels != newspec->channels) || (device->spec.freq != newspec->freq)) {
|
if ((device->spec.format != newspec->format) || (device->spec.channels != newspec->channels) || (device->spec.freq != newspec->freq)) {
|
||||||
SDL_memcpy(&device->spec, newspec, sizeof (newspec));
|
SDL_memcpy(&device->spec, newspec, sizeof (*newspec));
|
||||||
for (SDL_LogicalAudioDevice *logdev = device->logical_devices; !kill_device && (logdev != NULL); logdev = logdev->next) {
|
for (SDL_LogicalAudioDevice *logdev = device->logical_devices; !kill_device && (logdev != NULL); logdev = logdev->next) {
|
||||||
for (SDL_AudioStream *stream = logdev->bound_streams; !kill_device && (stream != NULL); stream = stream->next_binding) {
|
for (SDL_AudioStream *stream = logdev->bound_streams; !kill_device && (stream != NULL); stream = stream->next_binding) {
|
||||||
if (SDL_SetAudioStreamFormat(stream, iscapture ? &device->spec : NULL, iscapture ? NULL : &device->spec) == -1) {
|
if (SDL_SetAudioStreamFormat(stream, iscapture ? &device->spec : NULL, iscapture ? NULL : &device->spec) == -1) {
|
||||||
|
|
Loading…
Reference in New Issue