svace: Modify a strerror function to strerror_r to gurantee threads safety.
authorJengHyun Kang <jhyuni.kang@samsung.com>
Tue, 12 Jul 2016 02:14:03 +0000 (11:14 +0900)
committerDuna Oh <duna.oh@samsung.com>
Mon, 7 Feb 2022 11:52:33 +0000 (20:52 +0900)
Change-Id: Iacd31adb29bb284f93aa04597d5c6ca364e0616b

src/evdev.c

index eb6ac43ff3c69bf420d36cd7d9f5debd7a89bbc0..c11aa3e3a1db940451b75b0cbeda6492740057da 100644 (file)
@@ -2254,6 +2254,7 @@ struct evdev_device *
 evdev_device_create(struct libinput_seat *seat,
                    struct udev_device *udev_device)
 {
+#define STRERR_BUFSIZE 256
        struct libinput *libinput = seat->libinput;
        struct evdev_device *device = NULL;
        int rc;
@@ -2261,6 +2262,7 @@ evdev_device_create(struct libinput_seat *seat,
        int unhandled_device = 0;
        const char *devnode = udev_device_get_devnode(udev_device);
        const char *sysname = udev_device_get_sysname(udev_device);
+       char buf[STRERR_BUFSIZE] = {0, };
 
        if (!devnode) {
                log_info(libinput, "%s: no device node associated\n", sysname);
@@ -2282,7 +2284,7 @@ evdev_device_create(struct libinput_seat *seat,
                         "%s: opening input device '%s' failed (%s).\n",
                         sysname,
                         devnode,
-                        strerror(-fd));
+                        strerror_r(-fd, buf, STRERR_BUFSIZE));
                return NULL;
        }