chiark / gitweb /
device: fix sysattr newline cutter
authorDavid Herrmann <dh.herrmann@gmail.com>
Tue, 7 Apr 2015 11:11:18 +0000 (13:11 +0200)
committerSven Eden <yamakuzure@gmx.net>
Tue, 14 Mar 2017 06:51:38 +0000 (07:51 +0100)
Right now, we always drop the last character of all values we write to
sysfs. Fix this!

src/libelogind/sd-device/sd-device.c

index 0dd0e14eef929283b67345cb201e0c3b5b72f23b..b828fa830a183b2e760f187ecf338aa30a809360 100644 (file)
@@ -1781,8 +1781,8 @@ _public_ int sd_device_set_sysattr_value(sd_device *device, const char *sysattr,
         value_len = strlen(_value);
 
         /* drop trailing newlines */
-        while (value_len > 0 && _value[--value_len] == '\n')
-                _value[value_len] = '\0';
+        while (value_len > 0 && _value[value_len - 1] == '\n')
+                _value[--value_len] = '\0';
 
         /* value length is limited to 4k */
         if (value_len > 4096)