Since the update from v0.9.3.a to v0.9.4.a, irrecord crashes in a buffer overflow on my systems. Verified on Arch x86_64 and on Arch ARM Raspberry Pi 2. The attached ir.log is from the x86_64 system.
Steps to reproduce:
1) Start lircd
2) sudo irrecord --device=/dev/lirc0 MyRemote
If I downgrade to the older version of these two packages, everything works as expected:
lirc-1:0.9.3.a-2
libirman-0.4.6-1
A crash is a crash. That said, this happens when trying to record input using the devinput driver which doesn't make much sense, As can be seen from the log irrecord also prints a warning message for this usecase.
The problem is that default options have changed in /etc/lirc/lirc_options.conf with 0.9.4a:
Old:
driver = default
device = /dev/lirc0
New:
driver = devinput
device = auto
Using the "old" values followed-up restarting lircd fixes the problem with the updated packages. Credit to dustovich in this thread for pointing it out.
This is not related to lircd in any way, lircd should not run while using irrecord. The dependency is just that irrecord uses the same defaults as lircd for driver and device.
irrecord still shouldn't crash, though.
Specifying both driver and device on the command line makes thiings much clearer ,at least in written examples. Relying on hidden defaults doesn't make things easire.
Crash fixed in [ebd3cf] (master) and [5effca] (release-0_9_4).
Closing
EDIT: fix links
Related
Commit: [5effca]
Commit: [ebd3cf]
Last edit: Alec Leamas 2016-08-12