Closed KwonTae-young closed 6 years ago
thanks for the feedback. If you have time, look at xf86-input-evdev and see how they check for the ABS_X/Y codes. They use libevdev, and I guess we should do so too.
You could also look at how evtest does it...
I can not see now because of other things right now. But I will make time soon and compare it with evdev.
This was a bug I made.
I edited the string using strcpy() in xf86-input-tslib.(to read the x, y values #7 ) It seems that the absbit is broken because of buffer overflow in this stage.
Sorry. This was my bug. :(
Hello.
I have recently seen strange cases. I am using tsc2007. Below is the version I am using.
Segmentation fault occurred when executing xf86-input-tslib. The related logs are shown below.
I checked the relevant parts and confirmed the problem in the following section. https://github.com/merge/xf86-input-tslib/blob/master/src/tslib.c#L544-L555 tsc2007 is not multi touch. So it should be
priv->abs_x_only = 1;
butreturn BadValue;
So I checked the related values as follows.
Below is the log.
When checking, the
absbit[BIT_WORD(ABS_X)]
andabsbit[BIT_WORD(ABS_Y)]
values are the same. And the values are different fromBIT_MASK(ABS_X)
andBIT_MASK(ABS_Y)
. So now it isreturn BadValue;
The log below is the information of my tsc2007 which I confirmed with evtest.
The values of
absbit[BIT_WORD(ABS_X)]
andabsbit[BIT_WORD(ABS_Y)]
seem to be strange.I'm sorry I do not have enough English.