Package: release.debian.org
Severity: normal
User: release.debian....@packages.debian.org
Usertags: unblock
X-Debbugs-Cc: f...@packages.debian.org, Debian Hamradio Maintainers 
<debian-h...@lists.debian.org>
Control: affects -1 + src:fbb

Please unblock package fbb. The new version fixes a segfault when
listing subdirectories. (Closes: #1032223)

The diff is unfortunately quite noisy since different quilt flags were
used when refreshing the patch where the bug was in. The effective
interdiff is this:

+Index: fbb-7.011/src/ibm.c
+===================================================================
+--- fbb-7.011.orig/src/ibm.c
++++ fbb-7.011/src/ibm.c
-@@ -205,13 +204,10 @@
+@@ -205,13 +204,13 @@ void format_ffblk (struct ffblk *blk, st
        else
                sprintf (filename, "%s/%s", blk->ff_base, dir->d_name);

 -      ret = lstat (filename, &st);
--
++        lstat (filename, &st);
+
        if (S_ISLNK (st.st_mode))
        {
                /* printf ("link\n"); */
                blk->ff_attrib |= FA_LINK;
 -              ret = stat (filename, &st);
++                stat (filename, &st);
                if (S_ISDIR (st.st_mode))
                {
                        blk->ff_attrib |= FA_DIREC;

I.e. the original patch mistakenly removed lstat, and the new patch
restores it to the original place. "ret" is dropped since the code
doesn't use it.

[ Checklist ]
  [x] all changes are documented in the d/changelog
  [x] I reviewed all changes and I approve them
  [x] attach git diff against the package in testing

unblock fbb/7.011-2

Christoph
diff --git a/debian/changelog b/debian/changelog
index 313edc3..4620c2c 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,11 @@
+fbb (7.011-2) unstable; urgency=medium
+
+  * Team upload.
+  * Address segfault when listing subdirectories (Closes: #1032223)
+    Thank you to Mike Quin for the bug report and patch.
+
+ -- tony mancill <tmanc...@debian.org>  Sun, 05 Mar 2023 09:53:13 -0800
+
 fbb (7.011-1) unstable; urgency=medium
 
   * Team upload.
diff --git a/debian/patches/05-fix-compile-warnings b/debian/patches/05-fix-compile-warnings
index 485541e..0e87f45 100644
--- a/debian/patches/05-fix-compile-warnings
+++ b/debian/patches/05-fix-compile-warnings
@@ -1,9 +1,14 @@
-Fix trivial compiler warnings, mostly unused vars
+Description: Fix trivial compiler warnings, mostly unused vars
+  Thank you to Mike Quin for patching the patch.
+  See:  https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1032223
 Author: Colin Tuckley col...@debian.org
+Last-Update: 2023-03-02
 
---- a/src/console.c
-+++ b/src/console.c
-@@ -254,7 +254,6 @@
+Index: fbb-7.011/src/console.c
+===================================================================
+--- fbb-7.011.orig/src/console.c
++++ fbb-7.011/src/console.c
+@@ -254,7 +254,6 @@ void connect_fen (void)
  
  void winputs (int voie, int attr, char *ptr)
  {
@@ -11,7 +16,7 @@ Author: Colin Tuckley col...@debian.org
  	int header;
  
  	if (attr == -1)
-@@ -265,7 +264,6 @@
+@@ -265,7 +264,6 @@ void winputs (int voie, int attr, char *
  	else
  		header = 0;
  
@@ -19,9 +24,11 @@ Author: Colin Tuckley col...@debian.org
  	window_write (voie, ptr, strlen (ptr), attr, header);
  }
  
---- a/src/drv_mod.c
-+++ b/src/drv_mod.c
-@@ -575,11 +575,6 @@
+Index: fbb-7.011/src/drv_mod.c
+===================================================================
+--- fbb-7.011.orig/src/drv_mod.c
++++ fbb-7.011/src/drv_mod.c
+@@ -575,11 +575,6 @@ int lit_port_modem (int port)
  			ioctl (ptrcom->comfd, TIOCMGET, &mcs);
  			con = (mcs & TIOCM_CAR) ? 1 : 0;
  
@@ -33,7 +40,7 @@ Author: Colin Tuckley col...@debian.org
  			if ((svoie[voie]->sta.connect > 1) && (svoie[voie]->sta.connect < 17) && (!con))
  			{
  				md_no_echo (voie);
-@@ -851,10 +846,12 @@
+@@ -851,10 +846,12 @@ int lit_port_modem (int port)
  			con = (nstat & 0x80) ? 1 : 0;
  #endif
  
@@ -46,9 +53,11 @@ Author: Colin Tuckley col...@debian.org
  
  			if ((svoie[voie]->sta.connect > 1) && (svoie[voie]->sta.connect < 17) && (!con))
  			{
---- a/src/fwdovl5.c
-+++ b/src/fwdovl5.c
-@@ -737,14 +737,9 @@
+Index: fbb-7.011/src/fwdovl5.c
+===================================================================
+--- fbb-7.011.orig/src/fwdovl5.c
++++ fbb-7.011/src/fwdovl5.c
+@@ -737,14 +737,9 @@ void init_part (void)
  					}
  					else
  					{
@@ -63,9 +72,11 @@ Author: Colin Tuckley col...@debian.org
  						if (jour < 0)
  							jour += 31;
  						if (jour > 15)
---- a/src/ibm.c
-+++ b/src/ibm.c
-@@ -190,7 +190,6 @@
+Index: fbb-7.011/src/ibm.c
+===================================================================
+--- fbb-7.011.orig/src/ibm.c
++++ fbb-7.011/src/ibm.c
+@@ -190,7 +190,6 @@ int getftime (int fd, struct ftime *ft)
  
  void format_ffblk (struct ffblk *blk, struct dirent *dir)
  {
@@ -73,23 +84,27 @@ Author: Colin Tuckley col...@debian.org
  	int year;
  	struct stat st;
  	struct tm *tm;
-@@ -205,13 +204,10 @@
+@@ -205,13 +204,13 @@ void format_ffblk (struct ffblk *blk, st
  	else
  		sprintf (filename, "%s/%s", blk->ff_base, dir->d_name);
  
 -	ret = lstat (filename, &st);
--
++        lstat (filename, &st);
+ 
  	if (S_ISLNK (st.st_mode))
  	{
  		/* printf ("link\n"); */
  		blk->ff_attrib |= FA_LINK;
 -		ret = stat (filename, &st);
++                stat (filename, &st);
  		if (S_ISDIR (st.st_mode))
  		{
  			blk->ff_attrib |= FA_DIREC;
---- a/src/init_tnc.c
-+++ b/src/init_tnc.c
-@@ -26,7 +26,7 @@
+Index: fbb-7.011/src/init_tnc.c
+===================================================================
+--- fbb-7.011.orig/src/init_tnc.c
++++ fbb-7.011/src/init_tnc.c
+@@ -26,7 +26,7 @@ int inittnc (void)
  {
  	FILE *fpinit;
  	char s[80];
@@ -98,7 +113,7 @@ Author: Colin Tuckley col...@debian.org
  	int d_init;
  	int lig, col, i, ok;
  	int ok_init[NBPORT];
-@@ -223,7 +223,6 @@
+@@ -223,7 +223,6 @@ int inittnc (void)
  #endif
  					while (1)
  					{
@@ -106,9 +121,11 @@ Author: Colin Tuckley col...@debian.org
  						tncstr (port, "*", 0);
  						sleep_ (1);
  						tncstr (port, "\021\030\003", 0);
---- a/src/k_tasks.c
-+++ b/src/k_tasks.c
-@@ -422,7 +422,7 @@
+Index: fbb-7.011/src/k_tasks.c
+===================================================================
+--- fbb-7.011.orig/src/k_tasks.c
++++ fbb-7.011/src/k_tasks.c
+@@ -422,7 +422,7 @@ static void fbb_timer (void)
  	static long bprec = -1;
  	long bt;
  	FbbTimer *tt;
@@ -117,7 +134,7 @@ Author: Colin Tuckley col...@debian.org
  	long delta;
  
  	bt = btime ();
-@@ -434,7 +434,7 @@
+@@ -434,7 +434,7 @@ static void fbb_timer (void)
  	bprec = bt;
  
  	tt = timer_head;
@@ -126,7 +143,7 @@ Author: Colin Tuckley col...@debian.org
  
  	while (tt)
  	{
-@@ -460,7 +460,7 @@
+@@ -460,7 +460,7 @@ static void fbb_timer (void)
  		}
  		else
  		{
@@ -135,9 +152,11 @@ Author: Colin Tuckley col...@debian.org
  			tt = tt->next;
  		}
  	}
---- a/src/mbl_impo.c
-+++ b/src/mbl_impo.c
-@@ -550,10 +550,7 @@
+Index: fbb-7.011/src/mbl_impo.c
+===================================================================
+--- fbb-7.011.orig/src/mbl_impo.c
++++ fbb-7.011/src/mbl_impo.c
+@@ -550,10 +550,7 @@ int copy_mess (long numero, char *chaine
  			}
  			else
  			{
@@ -148,9 +167,11 @@ Author: Colin Tuckley col...@debian.org
  				sprintf (temp, "%s\r\rOriginal to %s@%s\r\r%c",
  						 last_header, pbul->desti, pbul->bbsv, car_fin);
  
---- a/src/mbl_read.c
-+++ b/src/mbl_read.c
-@@ -804,13 +804,11 @@
+Index: fbb-7.011/src/mbl_read.c
+===================================================================
+--- fbb-7.011.orig/src/mbl_read.c
++++ fbb-7.011/src/mbl_read.c
+@@ -804,13 +804,11 @@ static void trans_header (char *ptr, cha
  
  static char *read_headers(long date)
  {
@@ -164,9 +185,11 @@ Author: Colin Tuckley col...@debian.org
  	*bbs = '\0';
  	
  	if ((fptr = ouvre_mess (O_TEXT, ptemp->nmess, '\0')) != NULL)
---- a/src/mbl_sys.c
-+++ b/src/mbl_sys.c
-@@ -260,7 +260,7 @@
+Index: fbb-7.011/src/mbl_sys.c
+===================================================================
+--- fbb-7.011.orig/src/mbl_sys.c
++++ fbb-7.011/src/mbl_sys.c
+@@ -260,7 +260,7 @@ char *snd_passwd (char *chaine)
  	unsigned ds, dss;
  	char indic[80];
  	char buffer[300];
@@ -175,7 +198,7 @@ Author: Colin Tuckley col...@debian.org
  	FILE *fptr;
  	int first = 1;
  
-@@ -270,7 +270,6 @@
+@@ -270,7 +270,6 @@ char *snd_passwd (char *chaine)
  	{
  		while (fgets (buffer, 300, fptr))
  		{
@@ -183,9 +206,11 @@ Author: Colin Tuckley col...@debian.org
  			ptr = buffer;
  			if ((!isgraph (*buffer)) || (*buffer == '#'))
  				continue;
---- a/src/mbl_user.c
-+++ b/src/mbl_user.c
-@@ -397,7 +397,7 @@
+Index: fbb-7.011/src/mbl_user.c
+===================================================================
+--- fbb-7.011.orig/src/mbl_user.c
++++ fbb-7.011/src/mbl_user.c
+@@ -397,7 +397,7 @@ int page_connect (char port, FILE * fptr
  {
  #define TBUF 20
  	long pos, nbc = MAXSTAT;
@@ -194,7 +219,7 @@ Author: Colin Tuckley col...@debian.org
  	unsigned char valport;
  	statis buffstat[TBUF];
  	char valcall[8];
-@@ -429,7 +429,6 @@
+@@ -429,7 +429,6 @@ int page_connect (char port, FILE * fptr
  		}
  		--nbrec;
  		pvoie->noenr_menu -= (long) sizeof (statis);
@@ -202,9 +227,11 @@ Author: Colin Tuckley col...@debian.org
  		if (strmatch (buffstat[nbrec].indcnx, pvoie->ch_temp))
  		{
  			/* test de la validite du port */
---- a/src/pacsat.c
-+++ b/src/pacsat.c
-@@ -453,7 +453,6 @@
+Index: fbb-7.011/src/pacsat.c
+===================================================================
+--- fbb-7.011.orig/src/pacsat.c
++++ fbb-7.011/src/pacsat.c
+@@ -453,7 +453,6 @@ static uchar send_pfh (int dirent, int b
   */
  static int req_dir (char *callsign)
  {
@@ -212,7 +239,7 @@ Author: Colin Tuckley col...@debian.org
  	ushort block_size;
  	struct stuser *user;
  	struct sthole *hole;
-@@ -461,7 +460,6 @@
+@@ -461,7 +460,6 @@ static int req_dir (char *callsign)
  	int i;
  
  	i = HDRSIZE;
@@ -220,7 +247,7 @@ Author: Colin Tuckley col...@debian.org
  	i += 1;
  	memcpy (&block_size, &rkss[i], 2);
  	i += 2;
-@@ -1162,7 +1160,7 @@
+@@ -1162,7 +1160,7 @@ static int pfh_msg (FILE * fpth, long nu
  	FILE *fptm;
  	int fd_msg;
  	int fd_pfh;
@@ -229,7 +256,7 @@ Author: Colin Tuckley col...@debian.org
  	uchar buf[4096];
  
  	if (fpth)
-@@ -1182,7 +1180,6 @@
+@@ -1182,7 +1180,6 @@ static int pfh_msg (FILE * fpth, long nu
  
  	crc = 0;
  	tot = 0;
@@ -237,7 +264,7 @@ Author: Colin Tuckley col...@debian.org
  	lgbuf = sizeof (buf);
  
  	for (;;)
-@@ -1191,7 +1188,7 @@
+@@ -1191,7 +1188,7 @@ static int pfh_msg (FILE * fpth, long nu
  		if (nb <= 0)
  			break;
  		if (fd_pfh)
@@ -246,9 +273,11 @@ Author: Colin Tuckley col...@debian.org
  		for (i = 0; i < nb; i++)
  		{
  			crc += buf[i];
---- a/src/xmodem.c
-+++ b/src/xmodem.c
-@@ -644,13 +644,11 @@
+Index: fbb-7.011/src/xmodem.c
+===================================================================
+--- fbb-7.011.orig/src/xmodem.c
++++ fbb-7.011/src/xmodem.c
+@@ -644,13 +644,11 @@ void kill_rzsz (int voie)
  
  static void sig_child (int sig)
  {
@@ -262,9 +291,11 @@ Author: Colin Tuckley col...@debian.org
  
  	for (voie = 0; voie < NBVOIES; voie++)
  	{
---- a/src/xfbbd.c
-+++ b/src/xfbbd.c
-@@ -355,13 +355,12 @@
+Index: fbb-7.011/src/xfbbd.c
+===================================================================
+--- fbb-7.011.orig/src/xfbbd.c
++++ fbb-7.011/src/xfbbd.c
+@@ -356,13 +356,12 @@ void InfoMessage (int temps, char *texte
  void WinDebug (char *fmt,...)
  {
  	va_list argptr;
@@ -279,9 +310,11 @@ Author: Colin Tuckley col...@debian.org
  	va_end (argptr);
  }
  /*
---- a/src/gesfic.c
-+++ b/src/gesfic.c
-@@ -40,6 +40,8 @@
+Index: fbb-7.011/src/gesfic.c
+===================================================================
+--- fbb-7.011.orig/src/gesfic.c
++++ fbb-7.011/src/gesfic.c
+@@ -40,6 +40,8 @@ extern unsigned int _openfd[];
  
  int fbb_open (char *filename, int acces, unsigned mode);
  

Reply via email to