[lvm-devel] [PATCH 17/23] Add check for dm_snprintf result

Alasdair G Kergon agk at redhat.com
Wed Jan 5 00:12:57 UTC 2011


On Wed, Dec 22, 2010 at 11:34:47AM +0100, Zdenek Kabelac wrote:
> >> +		if (dm_snprintf(lockname, sizeof(lockname), "%c_%s",
> >> +				(is_orphan_vg(resource) ||
> >> +				 is_global_vg(resource) ||
> >> +				 (flags & LCK_CACHE)) ?  'P' : 'V',
> >> +				resource)  < 0) {
> >> +			log_error("Locking resource %s too long.", resource);
> >> +			return 0;
> >> +		}
> > I cannot imagine how this can happen. First parm is fixed char, second is resource string
> > with exact length. And char lockname[PATH_MAX];
> One shiny afternoon day someone could think about using 256byte long VG and LV
> uuids and it will nicely fail ;)
 
I've no objection to adding tests like that, though adding '(void)' in places like
this that are safe is also fine.

Alasdair




More information about the lvm-devel mailing list