mirror of
				https://gitlab.gnome.org/GNOME/glib.git
				synced 2025-10-31 00:12:19 +01:00 
			
		
		
		
	There’s no explicit guarantee that any of these functions are safe to use on untrusted data, but it does no harm to test them. Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
		
			
				
	
	
		
			26 lines
		
	
	
		
			694 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			26 lines
		
	
	
		
			694 B
		
	
	
	
		
			C
		
	
	
	
	
	
| #include "fuzz.h"
 | ||
| 
 | ||
| int
 | ||
| LLVMFuzzerTestOneInput (const unsigned char *data, size_t size)
 | ||
| {
 | ||
|   unsigned char *nul_terminated_data = NULL;
 | ||
|   GSocketConnectable *connectable = NULL;
 | ||
| 
 | ||
|   fuzz_set_logging_func ();
 | ||
| 
 | ||
|   /* ignore @size (g_network_address_parse_uri() doesn’t support it); ensure @data is nul-terminated */
 | ||
|   nul_terminated_data = (unsigned char *) g_strndup ((const gchar *) data, size);
 | ||
|   connectable = g_network_address_parse_uri ((const gchar *) nul_terminated_data, 1, NULL);
 | ||
|   g_free (nul_terminated_data);
 | ||
| 
 | ||
|   if (connectable != NULL)
 | ||
|     {
 | ||
|       gchar *text = g_socket_connectable_to_string (connectable);
 | ||
|       g_free (text);
 | ||
|     }
 | ||
| 
 | ||
|   g_clear_object (&connectable);
 | ||
| 
 | ||
|   return 0;
 | ||
| }
 |