From 90e2dc9891774868d23a718e4031442f7cd75571 Mon Sep 17 00:00:00 2001
From: "Ryan C. Gordon" <icculus@icculus.org>
Date: Fri, 14 Jun 2019 18:23:51 -0400
Subject: [PATCH] A few minor changes to placate static analysis.

---
 src/audio/SDL_wave.c              |  6 ++++--
 src/video/cocoa/SDL_cocoamouse.m  |  6 +++++-
 src/video/cocoa/SDL_cocoawindow.m | 18 +++++++++++++++---
 3 files changed, 24 insertions(+), 6 deletions(-)

diff --git a/src/audio/SDL_wave.c b/src/audio/SDL_wave.c
index 18d2c267f..484210198 100644
--- a/src/audio/SDL_wave.c
+++ b/src/audio/SDL_wave.c
@@ -1240,7 +1240,8 @@ LAW_Decode(WaveFile *file, Uint8 **audio_buf, Uint32 *audio_len)
         return SDL_SetError("WAVE file too big");
     }
 
-    src = (Uint8 *)SDL_realloc(chunk->data, expanded_len);
+    /* 1 to avoid allocating zero bytes, to keep static analysis happy. */
+    src = (Uint8 *)SDL_realloc(chunk->data, expanded_len ? expanded_len : 1);
     if (src == NULL) {
         return SDL_OutOfMemory();
     }
@@ -1371,7 +1372,8 @@ PCM_ConvertSint24ToSint32(WaveFile *file, Uint8 **audio_buf, Uint32 *audio_len)
         return SDL_SetError("WAVE file too big");
     }
 
-    ptr = (Uint8 *)SDL_realloc(chunk->data, expanded_len);
+    /* 1 to avoid allocating zero bytes, to keep static analysis happy. */
+    ptr = (Uint8 *)SDL_realloc(chunk->data, expanded_len ? expanded_len : 1);
     if (ptr == NULL) {
         return SDL_OutOfMemory();
     }
diff --git a/src/video/cocoa/SDL_cocoamouse.m b/src/video/cocoa/SDL_cocoamouse.m
index 47699447e..b774626a3 100644
--- a/src/video/cocoa/SDL_cocoamouse.m
+++ b/src/video/cocoa/SDL_cocoamouse.m
@@ -424,7 +424,11 @@ void
 Cocoa_HandleMouseWheel(SDL_Window *window, NSEvent *event)
 {
     SDL_Mouse *mouse = SDL_GetMouse();
-    SDL_MouseID mouseID = mouse ? mouse->mouseID : 0;
+    if (!mouse) {
+        return;
+    }
+
+    SDL_MouseID mouseID = mouse->mouseID;
     if ([event subtype] == NSEventSubtypeTouch) {  /* this is a synthetic from the OS */
         if (mouse->touch_mouse_events) {
             mouseID = SDL_TOUCH_MOUSEID;   /* Hint is set */
diff --git a/src/video/cocoa/SDL_cocoawindow.m b/src/video/cocoa/SDL_cocoawindow.m
index f4911e359..68ea19898 100644
--- a/src/video/cocoa/SDL_cocoawindow.m
+++ b/src/video/cocoa/SDL_cocoawindow.m
@@ -894,7 +894,11 @@ SetWindowStyle(SDL_Window * window, NSUInteger style)
 - (void)mouseDown:(NSEvent *)theEvent
 {
     const SDL_Mouse *mouse = SDL_GetMouse();
-    SDL_MouseID mouseID = mouse ? mouse->mouseID : 0;
+    if (!mouse) {
+        return;
+    }
+
+    SDL_MouseID mouseID = mouse->mouseID;
     int button;
     int clicks;
 
@@ -959,7 +963,11 @@ SetWindowStyle(SDL_Window * window, NSUInteger style)
 - (void)mouseUp:(NSEvent *)theEvent
 {
     const SDL_Mouse *mouse = SDL_GetMouse();
-    SDL_MouseID mouseID = mouse ? mouse->mouseID : 0;
+    if (!mouse) {
+        return;
+    }
+
+    SDL_MouseID mouseID = mouse->mouseID;
     int button;
     int clicks;
 
@@ -1014,7 +1022,11 @@ SetWindowStyle(SDL_Window * window, NSUInteger style)
 - (void)mouseMoved:(NSEvent *)theEvent
 {
     SDL_Mouse *mouse = SDL_GetMouse();
-    SDL_MouseID mouseID = mouse ? mouse->mouseID : 0;
+    if (!mouse) {
+        return;
+    }
+
+    SDL_MouseID mouseID = mouse->mouseID;
     SDL_Window *window = _data->window;
     NSPoint point;
     int x, y;