Crash when trying to open a PS2 to USB game controller with 2 ports

Hi there, one of my users has reported a crash and I’ve managed to track it back down to the controller it was trying to open upon boot.
The adaptor apparently used in question- https://www.walmart.com/ip/PS2-to-PS3-Controller-Adapter-USB-Converter-for-Sony-Playstation/139008576

What’s weird about this, is that it has 2 ports, so you can attach 2 controllers to it via the same USB port. When the crash occurred, my user said he only had one controller plugged into one of the ports, while the other is free.

According to my logs, two SDL_JOYDEVICEADDED events were polled, both of which had sdlEvent.jdevice.which values of 0 and 1 respectively. For both of these, SDL_IsGameController returned true, and it appears to have crashed when trying to call SDL_GameControllerOpen on the second jdevice, which I suspect is the empty port.
Is there some kind of check I’m missing to detect this? Apparently other games handle it just fine, not sure what I’ve done wrong.

Worth noting that I am using the C# binding found at the bindings link to interface with the dll.

Source code- https://github.com/FireFox2000000/Moonscraper-Chart-Editor/blob/master/Moonscraper%20Chart%20Editor/Assets/Scripts/Game/Input/InputManager.cs
But here’s the code without all the fluff:

void Update () {
        SDL.SDL_Event sdlEvent;
        while (SDL.SDL_PollEvent(out sdlEvent) > 0)
        {
            switch (sdlEvent.type)
            {
                case SDL.SDL_EventType.SDL_JOYDEVICEADDED:
                    {
                        int index = sdlEvent.jdevice.which;
                        if (SDL.SDL_IsGameController(sdlEvent.jdevice.which) == SDL.SDL_bool.SDL_TRUE)
                        {
                            OnControllerConnect(index);
                        }
                        else
                        {
                            OnJoystickConnect(index);
                        }
                        break;
                    }
...

void OnControllerConnect(int index)
    {
        IntPtr gameController = SDL.SDL_GameControllerOpen(index);
        if (gameController != IntPtr.Zero)
        {
            Debug.Log("Added controller device " + index);
...