Преглед изворни кода

Fixed potential wraparound issue with property IDs

Sam Lantinga пре 2 година
родитељ
комит
b79db0a6ea
1 измењених фајлова са 5 додато и 1 уклоњено
  1. 5 1
      src/SDL_properties.c

+ 5 - 1
src/SDL_properties.c

@@ -124,7 +124,11 @@ SDL_PropertiesID SDL_CreateProperties(void)
     }
 
     if (SDL_LockRWLockForWriting(SDL_properties_lock) == 0) {
-        props = ++SDL_last_properties_id;
+        ++SDL_last_properties_id;
+        if (SDL_last_properties_id == 0) {
+            ++SDL_last_properties_id;
+        }
+        props = SDL_last_properties_id;
         if (SDL_InsertIntoHashTable(SDL_properties, (const void *)(uintptr_t)props, properties)) {
             inserted = SDL_TRUE;
         }