@@ -362,7 +362,7 @@ pub fn validate_fs_context_duplicates(
362
362
match rule. fscontext_type {
363
363
// If we ever see a duplicate of xattr task or trans we know something is wrong
364
364
FSContextType :: XAttr | FSContextType :: Task | FSContextType :: Trans => {
365
- let mut range: Range < usize > = 0 .. 0 ;
365
+ let mut range: Range < usize > = 1 .. 1 ;
366
366
for arg in & rule. func_call . args {
367
367
if let Argument :: Quote ( cas_arg) = & arg. 0 {
368
368
if * cas_arg == rule. fs_name {
@@ -393,7 +393,8 @@ pub fn validate_fs_context_duplicates(
393
393
// need to add a new error message
394
394
if let Some ( unwrapped_error) = error {
395
395
error = Some ( unwrapped_error. add_additional_message ( & inner_rule. file ,
396
- inner_range. unwrap_or_default ( ) ,
396
+ // The unwrap in the unwrap_or is safe since we know we have a function call w/ range at this point
397
+ inner_range. unwrap_or_else ( ||inner_rule. func_call . get_name_range ( ) . unwrap ( ) ) ,
397
398
& format ! ( "Found duplicate genfscon rules for filesystem {} with differing contexts: {}" , inner_rule. fs_name, inner_rule. context) ) ) ;
398
399
} else {
399
400
let outer_range: Option < Range < usize > > =
@@ -402,11 +403,13 @@ pub fn validate_fs_context_duplicates(
402
403
error = Some ( CompileError :: new (
403
404
"Duplicate genfscon contexts" ,
404
405
& rule. file ,
405
- outer_range. unwrap_or_default ( ) ,
406
+ // The unwrap in the unwrap_or is safe since we know we have a function call w/ range at this point
407
+ outer_range. unwrap_or_else ( ||rule. func_call . get_name_range ( ) . unwrap ( ) ) ,
406
408
& format ! ( "Found duplicate genfscon rules for filesystem {} with differing contexts: {}" , rule. fs_name, rule. context) ) ) ;
407
409
// We just made the error we are okay to unwrap it
408
410
error = Some ( error. unwrap ( ) . add_additional_message ( & inner_rule. file ,
409
- inner_range. unwrap_or_default ( ) ,
411
+ // The unwrap in the unwrap_or is safe since we know we have a function call w/ range at this point
412
+ inner_range. unwrap_or_else ( ||inner_rule. func_call . get_name_range ( ) . unwrap ( ) ) ,
410
413
& format ! ( "Found duplicate genfscon rules for filesystem {} with differing contexts: {}" , inner_rule. fs_name, inner_rule. context) ) ) ;
411
414
}
412
415
// Our paths are the same but our file types differ, we must also have a file type.
@@ -432,7 +435,8 @@ pub fn validate_fs_context_duplicates(
432
435
// need to add a new error message
433
436
if let Some ( unwrapped_error) = error {
434
437
error = Some ( unwrapped_error. add_additional_message ( & inner_rule. file ,
435
- inner_range. unwrap_or_default ( ) ,
438
+ // The unwrap in the unwrap_or is safe since we know we have a function call w/ range at this point
439
+ inner_range. unwrap_or_else ( ||inner_rule. func_call . get_name_range ( ) . unwrap ( ) ) ,
436
440
& format ! ( "Found duplicate genfscon rules for filesystem {} with differing file types" , inner_rule. fs_name) ) ) ;
437
441
} else {
438
442
// Just like above we need to look through the outer function's args to get the correct range
@@ -453,11 +457,13 @@ pub fn validate_fs_context_duplicates(
453
457
error = Some ( CompileError :: new (
454
458
"Duplicate genfscon file types" ,
455
459
& inner_rule. file ,
456
- outer_range. unwrap_or_default ( ) ,
460
+ // The unwrap in the unwrap_or is safe since we know we have a function call w/ range at this point
461
+ outer_range. unwrap_or_else ( ||rule. func_call . get_name_range ( ) . unwrap ( ) ) ,
457
462
& format ! ( "Found duplicate genfscon rules for filesystem {} with differing file types" , rule. fs_name) ) ) ;
458
463
// We just made the error we are safe to unwrap
459
464
error = Some ( error. unwrap ( ) . add_additional_message ( & inner_rule. file ,
460
- inner_range. unwrap_or_default ( ) ,
465
+ // The unwrap in the unwrap_or is safe since we know we have a function call w/ range at this point
466
+ inner_range. unwrap_or_else ( ||inner_rule. func_call . get_name_range ( ) . unwrap ( ) ) ,
461
467
& format ! ( "Found duplicate genfscon rules for filesystem {} with differing file types" , inner_rule. fs_name) ) ) ;
462
468
}
463
469
}
0 commit comments