From 1ad3bd46ce2d9a06d190b77a7587b7d076f37756 Mon Sep 17 00:00:00 2001 From: Michiel Broek Date: Fri, 3 Jul 2009 20:59:41 +0200 Subject: [PATCH] Fixed a possible array subscript overflow. --- ChangeLog | 9 +++++++++ mbfido/announce.c | 2 +- mbfido/mbfimport.c | 4 ++-- mbfido/ptic.c | 2 +- 4 files changed, 13 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index 50ac1754..ed307a6a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -9,6 +9,15 @@ v0.95.5 29-Nov-2008 Newsservers can be connected with a port number from the setup. + mbfido: + Fixed a possible array subscript overflow. + + mbaff: + Fixed a possible array subscript overflow. + + mbfile: + Fixed a possible array subscript overflow. + mbsetup: In screen 1.12 a nntp port number can be set. Added a switch to force authentication on connect with nntp diff --git a/mbfido/announce.c b/mbfido/announce.c index 0f6bfe61..5a8c8d80 100644 --- a/mbfido/announce.c +++ b/mbfido/announce.c @@ -118,7 +118,7 @@ void Uploads() for (j = 0; j < 25; j++) { if (strlen(fdb.Desc[j])) { snprintf(T_File.LDesc[k], 49, "%s", fdb.Desc[j]); - T_File.LDesc[k][49] = '\0'; + T_File.LDesc[k][48] = '\0'; k++; } } diff --git a/mbfido/mbfimport.c b/mbfido/mbfimport.c index 65c3089d..aff864d3 100644 --- a/mbfido/mbfimport.c +++ b/mbfido/mbfimport.c @@ -316,7 +316,7 @@ void ImportFiles(int Area) line++; pos = 0; } else { - if (pos == 49) { + if (pos == 48) { f_db.Desc[line][pos] = '\0'; pos = 0; line++; @@ -371,7 +371,7 @@ void ImportFiles(int Area) line++; pos = 0; } else { - if (pos == 49) { + if (pos == 48) { f_db.Desc[line][pos] = '\0'; pos = 0; line++; diff --git a/mbfido/ptic.c b/mbfido/ptic.c index 747e0377..7c526e16 100644 --- a/mbfido/ptic.c +++ b/mbfido/ptic.c @@ -664,7 +664,7 @@ int ProcessTic(fa_list **sbl, orphans **opl) * Add all our system aka's to the seenby lines in the same zone, * omit aka's already in the seenby list. */ - for (i = 0; i < 40; i++) { + for (i = 0; i < 39; i++) { if (CFG.akavalid[i] && (tic.Aka.zone == CFG.aka[i].zone)) { p_from = fido2faddr(CFG.aka[i]); if (! in_list(p_from, sbl, TRUE)) {