Re: [PATCH] affs_fill_super() %s abuses

From: Andreas Schwab
Date: Thu Jun 15 2006 - 08:39:26 EST


Roman Zippel <zippel@xxxxxxxxxxxxxx> writes:

> Hi,
>
> On Thu, 15 Jun 2006, Al Viro wrote:
>
>> @@ -420,11 +422,17 @@ got_root:
>> }
>>
>> if (mount_flags & SF_VERBOSE) {
>> - chksum = cpu_to_be32(chksum);
>> - printk(KERN_NOTICE "AFFS: Mounting volume \"%*s\": Type=%.3s\\%c, Blocksize=%d\n",
>> - AFFS_ROOT_TAIL(sb, root_bh)->disk_name[0],
>> - AFFS_ROOT_TAIL(sb, root_bh)->disk_name + 1,
>> - (char *)&chksum,((char *)&chksum)[3] + '0',blocksize);
>> + int len = AFFS_ROOT_TAIL(sb, root_bh)->disk_name[0];
>> + char name[32];
>> +
>> + if (len > 31)
>> + len = 31;
>
> You get the same effect by changing it above into "min(AFFS_ROOT_TAIL(sb,
> root_bh)->disk_name[0], 31)" and makes the copying unnecessary.

And "%*s" needs to be changed to "%.*s" (the former still requires a
NUL-terminated string).

Andreas.

--
Andreas Schwab, SuSE Labs, schwab@xxxxxxx
SuSE Linux Products GmbH, Maxfeldstraße 5, 90409 Nürnberg, Germany
PGP key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
"And now for something completely different."
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/