From 340c0d940fbaccf0b69946fff9418bbb1303798f Mon Sep 17 00:00:00 2001 From: Xavier Roche Date: Sat, 14 Jan 2023 13:06:22 +0100 Subject: Fixed sprintf --- src/htscore.c | 2 +- src/htshelp.c | 12 ++++++------ src/htsjava.c | 2 +- src/htsparse.c | 2 +- src/htsweb.c | 20 ++++++++++---------- src/httrack.c | 3 ++- src/proxy/store.c | 6 +++--- 7 files changed, 24 insertions(+), 23 deletions(-) diff --git a/src/htscore.c b/src/htscore.c index 517fbea..14f1756 100644 --- a/src/htscore.c +++ b/src/htscore.c @@ -413,7 +413,7 @@ if (makeindex_fp) { \ if (makeindex_links == 1) { \ char BIGSTK link_escaped[HTS_URLMAXSIZE*2]; \ escape_uri_utf(makeindex_firstlink, link_escaped, sizeof(link_escaped)); \ - sprintf(tempo,""CRLF, link_escaped); \ + snprintf(tempo,sizeof(tempo),""CRLF, link_escaped); \ } else \ tempo[0]='\0'; \ hts_template_format(makeindex_fp,template_footer, \ diff --git a/src/htshelp.c b/src/htshelp.c index e51e498..3a628fa 100644 --- a/src/htshelp.c +++ b/src/htshelp.c @@ -320,7 +320,7 @@ void help_wizard(httrackp * opt) { printf("\n"); if (strlen(stropt) == 1) stropt[0] = '\0'; // aucune - sprintf(cmd, "%s %s %s %s", urls, stropt, stropt2, strwild); + snprintf(cmd, sizeof(cmd), "%s %s %s %s", urls, stropt, stropt2, strwild); printf("---> Wizard command line: httrack %s\n\n", cmd); printf("Ready to launch the mirror? (Y/n) :"); fflush(stdout); @@ -423,7 +423,7 @@ void help_catchurl(const char *dest_path) { int i = 0; do { - sprintf(dest, "%s%s%d", dest_path, "hts-post", i); + snprintf(dest, sizeof(dest), "%s%s%d", dest_path, "hts-post", i); i++; } while(fexist(dest)); { @@ -439,7 +439,7 @@ void help_catchurl(const char *dest_path) { char BIGSTK finalurl[HTS_URLMAXSIZE * 2]; inplace_escape_check_url(dest, sizeof(dest)); - sprintf(finalurl, "%s" POSTTOK "file:%s", url, dest); + snprintf(finalurl, sizeof(finalurl), "%s" POSTTOK "file:%s", url, dest); printf("\nThe URL is: \"%s\"\n", finalurl); printf("You can capture it through: httrack \"%s\"\n", finalurl); } @@ -480,14 +480,14 @@ void help(const char *app, int more) { if (more) infomsg("1"); if (more != 2) { - sprintf(info, + snprintf(info, sizeof(info), "HTTrack version " HTTRACK_VERSION "%s", hts_is_available()); infomsg(info); #ifdef HTTRACK_AFF_WARNING infomsg("NOTE: " HTTRACK_AFF_WARNING); #endif - sprintf(info, + snprintf(info, sizeof(info), "\tusage: %s [-option] [+] [-] [+] [-]", app); infomsg(info); @@ -792,7 +792,7 @@ void help(const char *app, int more) { infomsg("example: httrack --continue"); infomsg("continues a mirror in the current folder"); infomsg(""); - sprintf(info, "HTTrack version " HTTRACK_VERSION "%s", + snprintf(info, sizeof(info), "HTTrack version " HTTRACK_VERSION "%s", hts_is_available()); infomsg(info); infomsg("Copyright (C) 1998-2017 Xavier Roche and other contributors"); diff --git a/src/htsjava.c b/src/htsjava.c index c1b1b0f..48a4267 100644 --- a/src/htsjava.c +++ b/src/htsjava.c @@ -268,7 +268,7 @@ static int hts_parse_java(t_hts_callbackarg * carg, httrackp * opt, tempo[0] = '\0'; - sprintf(tempo, "%s.class", tab[tab[i].index1].name); + snprintf(tempo, sizeof(tempo), "%s.class", tab[tab[i].index1].name); #if JAVADEBUG printf("add %s\n", tempo); #endif diff --git a/src/htsparse.c b/src/htsparse.c index 3da5158..46477a7 100644 --- a/src/htsparse.c +++ b/src/htsparse.c @@ -175,7 +175,7 @@ Please visit our Website: http://www.httrack.com if (makeindex_links == 1) { \ char BIGSTK link_escaped[HTS_URLMAXSIZE*2]; \ escape_uri_utf(makeindex_firstlink, link_escaped, sizeof(link_escaped)); \ - sprintf(tempo,""CRLF,link_escaped); \ + snprintf(tempo,sizeof(tempo),""CRLF,link_escaped); \ } else \ tempo[0]='\0'; \ hts_template_format(makeindex_fp,template_footer, \ diff --git a/src/htsweb.c b/src/htsweb.c index 77ad1a0..2ef8c3b 100644 --- a/src/htsweb.c +++ b/src/htsweb.c @@ -229,7 +229,7 @@ int main(int argc, char *argv[]) { { char tmp[32]; - sprintf(tmp, "%d", -1); + snprintf(tmp, sizeof(tmp), "%d", -1); smallserver_setkey("HTS_PLATFORM", tmp); } smallserver_setkey("HTTRACK_WEB", HTTRACK_WEB); @@ -248,7 +248,7 @@ int main(int argc, char *argv[]) { char digest[32 + 2]; srand((unsigned int) time(NULL)); - sprintf(buff, "%d-%d", (int) time(NULL), (int) rand()); + snprintf(buff, sizeof(buff), "%d-%d", (int) time(NULL), (int) rand()); domd5mem(buff, strlen(buff), digest, 1); smallserver_setkey("sid", digest); smallserver_setkey("_sid", digest); @@ -673,8 +673,8 @@ int __cdecl htsshow_loop(t_hts_callbackarg * carg, httrackp * opt, lien_back * b strncat(proto, back[i].url_adr, count); } } - sprintf(StatsBuffer[index].state, "%s: %s", proto, - back[i].info); + snprintf(StatsBuffer[index].state, sizeof(StatsBuffer[index].state), + "%s: %s", proto, back[i].info); ok = 1; } break; @@ -771,22 +771,22 @@ int __cdecl htsshow_loop(t_hts_callbackarg * carg, httrackp * opt, lien_back * b tmp[0] = '\0'; switch (hts_is_testing(opt)) { case 0: - sprintf(tmp, "parsing HTML file (%d%%)", parsing); + snprintf(tmp, sizeof(tmp), "parsing HTML file (%d%%)", parsing); break; case 1: - sprintf(tmp, "parsing HTML file: testing links (%d%%)", parsing); + snprintf(tmp, sizeof(tmp), "parsing HTML file: testing links (%d%%)", parsing); break; case 2: - sprintf(tmp, "purging files"); + snprintf(tmp, sizeof(tmp), "purging files"); break; case 3: - sprintf(tmp, "loading cache"); + snprintf(tmp, sizeof(tmp), "loading cache"); break; case 4: - sprintf(tmp, "waiting (scheduler)"); + snprintf(tmp, sizeof(tmp), "waiting (scheduler)"); break; case 5: - sprintf(tmp, "waiting (throttle)"); + snprintf(tmp, sizeof(tmp), "waiting (throttle)"); break; } smallserver_setkey("info.currentjob", tmp); diff --git a/src/httrack.c b/src/httrack.c index ec13d35..868ec0b 100644 --- a/src/httrack.c +++ b/src/httrack.c @@ -475,7 +475,8 @@ static int __cdecl htsshow_loop(t_hts_callbackarg * carg, httrackp * opt, lien_b strcpybuff(StatsBuffer[index].state, "search"); ok = 1; } else if (back[i].status == STATUS_FTP_TRANSFER) { // ohh le beau ftp - sprintf(StatsBuffer[index].state, "ftp: %s", back[i].info); + snprintf(StatsBuffer[index].state, sizeof(StatsBuffer[index].state), + "ftp: %s", back[i].info); ok = 1; } break; diff --git a/src/proxy/store.c b/src/proxy/store.c index 81c22ef..07956be 100644 --- a/src/proxy/store.c +++ b/src/proxy/store.c @@ -1130,7 +1130,7 @@ static PT_Element PT_ReadCache__New_u(PT_Index index_, const char *url, sprintf(previous_save, "%s%s", index->path, previous_save_ + index->fixedPath); } else { - sprintf(r->msg, "Bogus fixePath prefix for %s (prefixLen=%d)", + snprintf(r->msg, sizeof(r->msg), "Bogus fixePath prefix for %s (prefixLen=%d)", previous_save_, (int) index->fixedPath); r->statuscode = STATUSCODE_INVALID; } @@ -1178,7 +1178,7 @@ static PT_Element PT_ReadCache__New_u(PT_Index index_, const char *url, fclose(fp); } else { r->statuscode = STATUSCODE_INVALID; - sprintf(r->msg, "Read error (can't open '%s') from cache", + snprintf(r->msg, sizeof(r->msg), "Read error (can't open '%s') from cache", file_convert(catbuff, sizeof(catbuff), previous_save)); } } else { @@ -1745,7 +1745,7 @@ static PT_Element PT_ReadCache__Old_u(PT_Index index_, const char *url, sprintf(previous_save, "%s%s", index->path, previous_save_ + index->fixedPath); } else { - sprintf(r->msg, "Bogus fixePath prefix for %s (prefixLen=%d)", + snprintf(r->msg, sizeof(r->msg), "Bogus fixePath prefix for %s (prefixLen=%d)", previous_save_, (int) index->fixedPath); r->statuscode = STATUSCODE_INVALID; } -- cgit v1.2.3