Просмотр исходного кода

* Fix overlapping strcpy() in dcc_relay()

Bryan Drewery 16 лет назад
Родитель
Сommit
6f1d3d7c70
1 измененных файлов с 2 добавлено и 2 удалено
  1. 2 2
      src/botnet.c

+ 2 - 2
src/botnet.c

@@ -1487,9 +1487,9 @@ static void dcc_relay(int idx, char *buf, int j)
 	  if (!*(p + 2))
 	  if (!*(p + 2))
 	    mark = 2;		/* Bogus */
 	    mark = 2;		/* Bogus */
 	}
 	}
-	strcpy((char *) p, (char *) (p + mark));
+        memmove((char *) p, (char *) (p + mark), strlen((char *) (p + mark)) + 1);
       } else if (*p == '\r')
       } else if (*p == '\r')
-	strcpy((char *) p, (char *) (p + 1));
+        memmove((char *) p, (char *) (p + 1), strlen((char *) p));
     }
     }
     if (!buf[0])
     if (!buf[0])
       dprintf(-dcc[idx].u.relay->sock, " \n");
       dprintf(-dcc[idx].u.relay->sock, " \n");