ima: don't allocate a copy of template_fmt in template_desc_init_fields()
authorRoberto Sassu <roberto.sassu@polito.it>
Mon, 13 Oct 2014 12:08:40 +0000 (14:08 +0200)
committerMimi Zohar <zohar@linux.vnet.ibm.com>
Mon, 13 Oct 2014 12:39:01 +0000 (08:39 -0400)
commit9f3166b8ca3b89c27b9f1c9039d3662ab7812cfa
tree8477845f161e24a8833f9436430cd20a7e34dae9
parent7dbdb4206bd69bf518fd76e01f4c5c64cda96455
ima: don't allocate a copy of template_fmt in template_desc_init_fields()

This patch removes the allocation of a copy of 'template_fmt', needed for
iterating over all fields in the passed template format string. The removal
was possible by replacing strcspn(), which modifies the passed string,
with strchrnul(). The currently processed template field is copied in
a temporary variable.

The purpose of this change is use template_desc_init_fields() in two ways:
for just validating a template format string (the function should work
if called by a setup function, when memory cannot be allocated), and for
actually initializing a template descriptor. The implementation of this
feature will be complete with the next patch.

Changelog:
 - v3:
   - added 'goto out' in template_desc_init_fields() to free allocated
     memory if a template field length is not valid (suggested by
     Mimi Zohar)

Signed-off-by: Roberto Sassu <roberto.sassu@polito.it>
Signed-off-by: Mimi Zohar <zohar@linux.vnet.ibm.com>
security/integrity/ima/ima_template.c