$OpenBSD: patch-src_sndfile_c,v 1.2 2021/04/24 06:17:13 rsadowski Exp $

Jump back to the start of guess_file_type() rather than recursing into it.

Index: src/sndfile.c
--- src/sndfile.c.orig
+++ src/sndfile.c
@@ -2680,6 +2680,7 @@ static int
 guess_file_type (SF_PRIVATE *psf)
 {	uint32_t buffer [3], format ;
 
+retry:
 	if (psf_binheader_readf (psf, "b", &buffer, SIGNED_SIZEOF (buffer)) != SIGNED_SIZEOF (buffer))
 	{	psf->error = SFE_BAD_FILE_READ ;
 		return 0 ;
@@ -2780,7 +2781,7 @@ guess_file_type (SF_PRIVATE *psf)
 			|| buffer [0] == MAKE_MARKER ('I', 'D', '3', 4))
 	{	psf_log_printf (psf, "Found 'ID3' marker.\n") ;
 		if (id3_skip (psf))
-			return guess_file_type (psf) ;
+			goto retry ;
 		return 0 ;
 		} ;
 
