From 9f65aec9916b7380184f13788c8eb1b90e55bcf5 Mon Sep 17 00:00:00 2001 From: Mark Lobodzinski Date: Wed, 28 Jun 2017 13:22:03 -0600 Subject: layers: Output VUIDS for PV required_pointer checks Change-Id: I5b1a9901fdd75b35455fadd749b6ccb31236d23a --- scripts/parameter_validation_generator.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'scripts/parameter_validation_generator.py') diff --git a/scripts/parameter_validation_generator.py b/scripts/parameter_validation_generator.py index 8786c3fa..1c5c094b 100644 --- a/scripts/parameter_validation_generator.py +++ b/scripts/parameter_validation_generator.py @@ -802,8 +802,8 @@ class ParamCheckerOutputGenerator(OutputGenerator): # Generate the pointer check string def makePointerCheck(self, prefix, value, lenValue, valueRequired, lenValueRequired, lenPtrRequired, funcPrintName, lenPrintName, valuePrintName, postProcSpec, struct_type_name): checkExpr = [] + vuid_tag_name = struct_type_name if struct_type_name is not None else funcPrintName if lenValue: - vuid_tag_name = struct_type_name if struct_type_name is not None else funcPrintName count_required_vuid = self.GetVuid("VUID-%s-%s-arraylength" % (vuid_tag_name, lenValue.name)) array_required_vuid = self.GetVuid("VUID-%s-%s-parameter" % (vuid_tag_name, value.name)) # This is an array with a pointer to a count value @@ -831,10 +831,11 @@ class ParamCheckerOutputGenerator(OutputGenerator): # This is an individual struct that is not allowed to be NULL elif not value.isoptional: # Function pointers need a reinterpret_cast to void* + ptr_required_vuid = self.GetVuid("VUID-%s-%s-parameter" % (vuid_tag_name, value.name)) if value.type[:4] == 'PFN_': - checkExpr.append('skipCall |= validate_required_pointer(layer_data->report_data, "{}", {ppp}"{}"{pps}, reinterpret_cast({}{}));\n'.format(funcPrintName, valuePrintName, prefix, value.name, **postProcSpec)) + checkExpr.append('skipCall |= validate_required_pointer(layer_data->report_data, "{}", {ppp}"{}"{pps}, reinterpret_cast({}{}), {});\n'.format(funcPrintName, valuePrintName, prefix, value.name, ptr_required_vuid, **postProcSpec)) else: - checkExpr.append('skipCall |= validate_required_pointer(layer_data->report_data, "{}", {ppp}"{}"{pps}, {}{});\n'.format(funcPrintName, valuePrintName, prefix, value.name, **postProcSpec)) + checkExpr.append('skipCall |= validate_required_pointer(layer_data->report_data, "{}", {ppp}"{}"{pps}, {}{}, {});\n'.format(funcPrintName, valuePrintName, prefix, value.name, ptr_required_vuid, **postProcSpec)) return checkExpr # # Process struct member validation code, performing name suibstitution if required -- cgit v1.2.3