commit e0d38d5

Michael Forney  ·  2013-09-14 03:57:09 +0000 UTC
parent 4391680
seat: Check if strdup succeeded
1 files changed,  +10, -7
+10, -7
 1@@ -192,16 +192,19 @@ bool swc_seat_initialize(struct swc_seat * seat, struct udev * udev,
 2     seat->evdev_handler.axis = &handle_axis;
 3     seat->evdev_handler.relative_motion = &handle_relative_motion;
 4 
 5+    if (!seat->name)
 6+        goto error0;
 7+
 8     if (!swc_data_device_initialize(&seat->data_device))
 9     {
10         printf("could not initialize data device\n");
11-        goto error_name;
12+        goto error1;
13     }
14 
15     if (!swc_keyboard_initialize(&seat->keyboard))
16     {
17         printf("could not initialize keyboard\n");
18-        goto error_data_device;
19+        goto error2;
20     }
21 
22     wl_signal_add(&seat->keyboard.focus.event_signal,
23@@ -210,7 +213,7 @@ bool swc_seat_initialize(struct swc_seat * seat, struct udev * udev,
24     if (!swc_pointer_initialize(&seat->pointer))
25     {
26         printf("could not initialize pointer\n");
27-        goto error_keyboard;
28+        goto error3;
29     }
30 
31     wl_signal_add(&seat->data_device.event_signal, &seat->data_device_listener);
32@@ -222,13 +225,13 @@ bool swc_seat_initialize(struct swc_seat * seat, struct udev * udev,
33 
34     return true;
35 
36-  error_keyboard:
37+  error3:
38     swc_keyboard_finish(&seat->keyboard);
39-  error_data_device:
40+  error2:
41     swc_data_device_finish(&seat->data_device);
42-  error_name:
43+  error1:
44     free(seat->name);
45-  error_base:
46+  error0:
47     return false;
48 }
49