From 27ee81597789faf661e740b946d0a802e3778f7d Mon Sep 17 00:00:00 2001 From: Sophie Winter Date: Thu, 14 Aug 2025 08:52:38 -0700 Subject: [PATCH 1/2] Fix uninitialized data caught by Valgrind --- src/psmove.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/psmove.c b/src/psmove.c index ccdff8f1..f9687f80 100644 --- a/src/psmove.c +++ b/src/psmove.c @@ -916,7 +916,7 @@ psmove_connect() int _psmove_read_btaddrs(PSMove *move, PSMove_Data_BTAddr *host, PSMove_Data_BTAddr *controller) { - unsigned char btg[PSMOVE_MAX_BTADDR_GET_SIZE]; + unsigned char btg[PSMOVE_MAX_BTADDR_GET_SIZE] = {0}; size_t report_size = PSMOVE_BTADDR_GET_SIZE; int res; From 584245a8435a055b33041cdc92661ec2dd789ee0 Mon Sep 17 00:00:00 2001 From: Sophie Winter Date: Thu, 14 Aug 2025 08:54:48 -0700 Subject: [PATCH 2/2] Fix memory leak in psmove_connect_internal() --- src/psmove.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/psmove.c b/src/psmove.c index f9687f80..43bb00ae 100644 --- a/src/psmove.c +++ b/src/psmove.c @@ -565,7 +565,9 @@ psmove_connect_internal(const wchar_t *serial, const char *path, int id, unsigne if (move->connection_type == Conn_Unknown) { move->connection_type = Conn_USB; } - move->serial_number = psmove_get_serial(move); + char* new_serial = psmove_get_serial(move); + free(move->serial_number); + move->serial_number = new_serial; } // Recently disconnected controllers might still show up in hidapi (especially Windows).