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