On Fri, Aug 10, 2001 at 12:35:32AM -0400, Roland McGrath wrote: > It's not possible to read it either--it only ever reads one disk block. > However, looking at the code in ext2fs/inode.c:diskfs_get_translator, > it's clearly not robust to bogus data on the disk.
I saw you fixed that. I wonder about null-termination. It doesn't seem to me we null-terminate the result in the translator nor in libdiskfs. Isn't necessary anyway, as we pass the length. But in showtrans we have: char buf[1024], *trans = buf; int trans_len = sizeof (buf); error_t err = file_get_translator (node, &trans, &trans_len); switch (err) { case 0: /* Make the '\0's in TRANS printable. */ argz_stringify (trans, trans_len, ' '); if (!silent) { if (print_prefix) printf ("%s: %s\n", name, trans); else puts (trans); } Note the printf ("%s: %s\n", name, trans), which seems quite bogus. BTW, why should there be zeros in this string? Thanks, Marcus -- `Rhubarb is no Egyptian god.' Debian http://www.debian.org [EMAIL PROTECTED] Marcus Brinkmann GNU http://www.gnu.org [EMAIL PROTECTED] [EMAIL PROTECTED] http://www.marcus-brinkmann.de