ソースを参照

* Port [2544] to 1.2.16 from trunk
* More sprintf->simple_snprintf


svn: 3813

Bryan Drewery 18 年 前
コミット
077403da23

+ 2 - 2
src/botcmd.c

@@ -384,9 +384,9 @@ static void remote_tell_who(int idx, char *nick, int chan)
 	if (now - dcc[i].timeval > 300) {
 	  k = (now - dcc[i].timeval) / 60;
 	  if (k < 60)
-	    sprintf(s + l, " (idle %dm)", k);
+	    simple_snprintf(s + l, sizeof(s) - l, " (idle %dm)", k);
 	  else
-	    sprintf(s + l, " (idle %dh%dm)", k / 60, k % 60);
+	    simple_snprintf(s + l, sizeof(s) - l, " (idle %dh%dm)", k / 60, k % 60);
 	}
 	botnet_send_priv(idx, conf.bot->nick, nick, NULL, "%s", s);
 	if (dcc[i].u.chat->away != NULL)

+ 1 - 1
src/mod/irc.mod/cmdsirc.c

@@ -1208,7 +1208,7 @@ static void cmd_mop(int idx, char *par)
     if (channel_active(chan) && !channel_pending(chan)) {
       for (m = chan->channel.member; m && m->nick[0]; m = m->next) {
         if (!m->user) {
-          sprintf(s, "%s!%s", m->nick, m->userhost);
+          simple_snprintf(s, sizeof(s), "%s!%s", m->nick, m->userhost);
           m->user = get_user_by_host(s);
           if (!m->user && doresolv(chan) && m->userip[0]) {
             simple_snprintf(s, sizeof(s), "%s!%s", m->nick, m->userip);

+ 1 - 1
src/mod/irc.mod/msgcmds.c

@@ -370,7 +370,7 @@ static int msg_pls_auth(char *nick, char *host, struct userrec *u, char *par)
 
       putlog(LOG_CMDS, "*", STR("(%s!%s) !%s! failed +AUTH"), nick, host, u->handle);
       dprintf(DP_HELP, STR("NOTICE %s :Invalid hash.\n"), nick);
-      sprintf(s, "*!%s", host);
+      simple_snprintf(s, sizeof(s), "*!%s", host);
       addignore(s, origbotname, STR("Invalid auth hash."), now + (60 * ignore_time));
       delete auth;
     } 

+ 4 - 2
src/mod/transfer.mod/transfer.c

@@ -439,6 +439,7 @@ void eof_dcc_get(int idx)
 void dcc_send(int idx, char *buf, int len)
 {
   char s[SGRAB + 2] = "", *b = NULL;
+  size_t siz = 0;
   unsigned long sent;
 
   fwrite(buf, len, 1, dcc[idx].u.xfer->f);
@@ -462,8 +463,9 @@ void dcc_send(int idx, char *buf, int len)
 	   TRANSFER_FILE_TOO_LONG,
 	   dcc[idx].u.xfer->origname, dcc[idx].nick, dcc[idx].host);
     fclose(dcc[idx].u.xfer->f);
-    b = (char *) my_calloc(1, strlen(tempdir) + strlen(dcc[idx].u.xfer->filename) + 1);
-    sprintf(b, "%s%s", tempdir, dcc[idx].u.xfer->filename);
+    siz = strlen(tempdir) + strlen(dcc[idx].u.xfer->filename) + 1;
+    b = (char *) my_calloc(1, siz);
+    simple_snprintf(b, siz, "%s%s", tempdir, dcc[idx].u.xfer->filename);
     unlink(b);
     free(b);
     killsock(dcc[idx].sock);

+ 2 - 2
src/mod/update.mod/update.c

@@ -232,12 +232,12 @@ void finish_update(int idx)
     fclose(f);
   }
 
-  sprintf(buf, "%s%s", conf.binpath,  strrchr(dcc[idx].u.xfer->filename, '/'));
+  simple_snprintf(buf, sizeof(buf), "%s%s", conf.binpath,  strrchr(dcc[idx].u.xfer->filename, '/'));
 
   movefile(dcc[idx].u.xfer->filename, buf); 
   fixmod(buf);
 
-  sprintf(buf, "%s", strrchr(buf, '/'));
+  simple_snprintf(buf, sizeof(buf), "%s", strrchr(buf, '/'));
   buf2 = buf;
   buf2++;