Tags: patch

This bug appears to have been fixed by this upstream commit:

<https://git.kernel.org/cgit/linux/hotplug/udev.git/commit/src/extras/ata_id/ata_id.c?id=2b2823b4b5c41ec629e346cc6dc8407f1d519eb4>

I think that commit appears in udev 181.

I've manually made an equivalent change to udev 175 and it fixes the problem for me. The patch is attached.

--
Ben Harris
Index: udev-175/extras/ata_id/ata_id.c
===================================================================
--- udev-175.orig/extras/ata_id/ata_id.c	2013-06-17 17:33:35.000000000 +0100
+++ udev-175/extras/ata_id/ata_id.c	2013-06-17 17:35:20.532775727 +0100
@@ -307,8 +307,8 @@
 	assert ((dest_len & 1) == 0);
 
 	while (dest_len > 0) {
-		c1 = ((uint16_t *) identify)[offset_words] >> 8;
-		c2 = ((uint16_t *) identify)[offset_words] & 0xff;
+		c1 = identify[offset_words * 2 + 1];
+		c2 = identify[offset_words * 2];
 		*dest = c1;
 		dest++;
 		*dest = c2;

Reply via email to