To fix this bug, you have to modify the 05_handle-short-read.dpatch patch, in this way:
The THREE istance of (row number 58, 94, 133 of the 05_handle-short-read.dpatch file): + num_bytes += bytes_read; Should be modified in: + if (bytes_read>0) num_bytes += bytes_read; Because when read returns error, this should not influence the number of bytes already read. AND The THREE istance of (row number 60, 96, 135 of the 05_handle-short-read.dpatch file): + while ((bytes_read > 0 || errno == EINTR) [...] Should be modified in: + while ((bytes_read > 0 || (bytes_read==-1 && errno == EINTR)) [...] Because errno is only valid when read returns -1, errno is not set if there are no errors from the "read"; so if "read" gets interrupted by an EINTR, then when "read" reaches end-of-file, "read" will return 0 with errno still set to EINTR, and the loop become an infinite loop. Please someone upstream the fix and inform the author of the patch, thanks! Sandro -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org