[LTP] [PATCH v2 04/33] keyctl12: Test KEYCTL_DESCRIBE with too small buffer
Petr Vorel
pvorel@suse.cz
Tue Sep 15 16:46:29 CEST 2026
> > Hi!
> > > +static void run(void)
> > > +{
> > > + size_t i;
> > > +
> > > + memset(buf, 0xAA, sizeof(buf));
> > > + TST_EXP_EQ_LI_SILENT(keyctl(KEYCTL_DESCRIBE, key, (unsigned long)buf,
> > > + desc_len - 1, 0), desc_len);
> > > + if (!TST_PASS)
> > > + return;
> > > +
> > > + for (i = 0; i < sizeof(buf); i++) {
> > > + if (buf[i] != (char)0xAA) {
> > > + tst_res(TFAIL,
> > > + "too small buffer was written to at offset %zu",
> > > + i);
> > > + return;
> > > + }
> > > + }
> > It may make sense to loop this with:
> > for (buf_len = 0; buf_len < desc_len; buf_len++) {
> > ...
> > }
> > It should be fast and would increase the coverage..
> I suppose you want to check the actual key description in case it's longer than
> buffer size.
> desc_len is 12, sizeof(buf) is 64 therefore it's safe but I'll change it in v3
> so that it works in case of a longer key in the future.
Well, I thought I'd use
for (i = 0; i < desc_len; i++) {
but that could be problematic if desc_len (keyctl() return value) is higher
sizeof(buf). Maybe I did not get what you meant.
Kind regards,
Petr
> Kind regards,
> Petr
More information about the ltp
mailing list