github.com/khulnasoft-lab/defsec@v1.0.5-0.20230827010352-5e9f46893d95/pkg/scanners/azure/functions/substring.go (about)

     1  package functions
     2  
     3  func SubString(args ...interface{}) interface{} {
     4  	if len(args) < 2 {
     5  		return ""
     6  	}
     7  
     8  	input, ok := args[0].(string)
     9  	if !ok {
    10  		return ""
    11  	}
    12  
    13  	start, ok := args[1].(int)
    14  	if !ok {
    15  		return ""
    16  	}
    17  
    18  	if len(args) == 2 {
    19  		args = append(args, len(input))
    20  	}
    21  
    22  	length, ok := args[2].(int)
    23  	if !ok {
    24  		return ""
    25  	}
    26  
    27  	if start > len(input) {
    28  		return ""
    29  	}
    30  
    31  	if start+length > len(input) {
    32  		return input[start:]
    33  	}
    34  
    35  	return input[start : start+length]
    36  }