On Thu, 9 Apr 2009, jan damborsky wrote:

>> td_mg.c: line 2058: Back tracking through the call chain
>> I can see that the passed in char *disk, is really a
>> disk_info_t.disk_name which is a char *. In other words
>> the disk_name is unbounded. In all likelihood it will
>> be <MAXPATHLEN, but what is the effect on target discovery
>> if it isn't (esp line 2097)?
>
> The assumption made here was based on following consideration:
> partition/slice device name is also part of path in /dev/ directory,
> e.g. /dev/dsk/<disk_name><slice_name> - and its total size is limited
> to MAXPATHLEN, since it is regular path.
> Since we are dealing only with '<disk_name><slice_name>' part here,
> its size has is always <MAXPATHLEN. If mangled/invalid disk name is
> provided, this is not right place to decide and take correct action,
> the only thing we could do here is to be robust and avoid buffer
> overflow which is assured by using snprintf.

Okay, sounds reasonable.

I'm fine with the updated webrev.

Alok

Reply via email to