Browse Source

Linux: Fix path buffer length warning

Camilla Löwy 8 years ago
parent
commit
78666204a1
1 changed files with 4 additions and 8 deletions
  1. 4 8
      src/linux_joystick.c

+ 4 - 8
src/linux_joystick.c

@@ -161,18 +161,14 @@ GLFWbool _glfwInitJoysticksLinux(void)
         while ((entry = readdir(dir)))
         while ((entry = readdir(dir)))
         {
         {
             regmatch_t match;
             regmatch_t match;
-            char* path = NULL;
 
 
             if (regexec(&_glfw.linjs.regex, entry->d_name, 1, &match, 0) != 0)
             if (regexec(&_glfw.linjs.regex, entry->d_name, 1, &match, 0) != 0)
                 continue;
                 continue;
 
 
-            if (asprintf(&path, "%s/%s", dirname, entry->d_name) < 0)
-            {
-                _glfwInputError(GLFW_PLATFORM_ERROR,
-                                "Linux: Failed to construct device path: %s",
-                                strerror(errno));
-                continue;
-            }
+            const size_t length = strlen(dirname) + strlen(entry->d_name) + 1;
+            char* path = calloc(length + 1, 1);
+
+            snprintf(path, length + 1, "%s/%s", dirname, entry->d_name);
 
 
             if (openJoystickDevice(path))
             if (openJoystickDevice(path))
                 count++;
                 count++;