mirror of
				https://github.com/superseriousbusiness/gotosocial.git
				synced 2025-11-03 19:12:25 -06:00 
			
		
		
		
	
		
			
				
	
	
		
			117 lines
		
	
	
	
		
			1.8 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			117 lines
		
	
	
	
		
			1.8 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
package jsonparser
 | 
						|
 | 
						|
func FuzzParseString(data []byte) int {
 | 
						|
	r, err := ParseString(data)
 | 
						|
	if err != nil || r == "" {
 | 
						|
		return 0
 | 
						|
	}
 | 
						|
	return 1
 | 
						|
}
 | 
						|
 | 
						|
func FuzzEachKey(data []byte) int {
 | 
						|
	paths := [][]string{
 | 
						|
		{"name"},
 | 
						|
		{"order"},
 | 
						|
		{"nested", "a"},
 | 
						|
		{"nested", "b"},
 | 
						|
		{"nested2", "a"},
 | 
						|
		{"nested", "nested3", "b"},
 | 
						|
		{"arr", "[1]", "b"},
 | 
						|
		{"arrInt", "[3]"},
 | 
						|
		{"arrInt", "[5]"},
 | 
						|
		{"nested"},
 | 
						|
		{"arr", "["},
 | 
						|
		{"a\n", "b\n"},
 | 
						|
	}
 | 
						|
	EachKey(data, func(idx int, value []byte, vt ValueType, err error) {}, paths...)
 | 
						|
	return 1
 | 
						|
}
 | 
						|
 | 
						|
func FuzzDelete(data []byte) int {
 | 
						|
	Delete(data, "test")
 | 
						|
	return 1
 | 
						|
}
 | 
						|
 | 
						|
func FuzzSet(data []byte) int {
 | 
						|
	_, err := Set(data, []byte(`"new value"`), "test")
 | 
						|
	if err != nil {
 | 
						|
		return 0
 | 
						|
	}
 | 
						|
	return 1
 | 
						|
}
 | 
						|
 | 
						|
func FuzzObjectEach(data []byte) int {
 | 
						|
	_ = ObjectEach(data, func(key, value []byte, valueType ValueType, off int) error {
 | 
						|
		return nil
 | 
						|
	})
 | 
						|
	return 1
 | 
						|
}
 | 
						|
 | 
						|
func FuzzParseFloat(data []byte) int {
 | 
						|
	_, err := ParseFloat(data)
 | 
						|
	if err != nil {
 | 
						|
		return 0
 | 
						|
	}
 | 
						|
	return 1
 | 
						|
}
 | 
						|
 | 
						|
func FuzzParseInt(data []byte) int {
 | 
						|
	_, err := ParseInt(data)
 | 
						|
	if err != nil {
 | 
						|
		return 0
 | 
						|
	}
 | 
						|
	return 1
 | 
						|
}
 | 
						|
 | 
						|
func FuzzParseBool(data []byte) int {
 | 
						|
	_, err := ParseBoolean(data)
 | 
						|
	if err != nil {
 | 
						|
		return 0
 | 
						|
	}
 | 
						|
	return 1
 | 
						|
}
 | 
						|
 | 
						|
func FuzzTokenStart(data []byte) int {
 | 
						|
	_ = tokenStart(data)
 | 
						|
	return 1
 | 
						|
}
 | 
						|
 | 
						|
func FuzzGetString(data []byte) int {
 | 
						|
	_, err := GetString(data, "test")
 | 
						|
	if err != nil {
 | 
						|
		return 0
 | 
						|
	}
 | 
						|
	return 1
 | 
						|
}
 | 
						|
 | 
						|
func FuzzGetFloat(data []byte) int {
 | 
						|
	_, err := GetFloat(data, "test")
 | 
						|
	if err != nil {
 | 
						|
		return 0
 | 
						|
	}
 | 
						|
	return 1
 | 
						|
}
 | 
						|
 | 
						|
func FuzzGetInt(data []byte) int {
 | 
						|
	_, err := GetInt(data, "test")
 | 
						|
	if err != nil {
 | 
						|
		return 0
 | 
						|
	}
 | 
						|
	return 1
 | 
						|
}
 | 
						|
 | 
						|
func FuzzGetBoolean(data []byte) int {
 | 
						|
	_, err := GetBoolean(data, "test")
 | 
						|
	if err != nil {
 | 
						|
		return 0
 | 
						|
	}
 | 
						|
	return 1
 | 
						|
}
 | 
						|
 | 
						|
func FuzzGetUnsafeString(data []byte) int {
 | 
						|
	_, err := GetUnsafeString(data, "test")
 | 
						|
	if err != nil {
 | 
						|
		return 0
 | 
						|
	}
 | 
						|
	return 1
 | 
						|
}
 |