[prev in list] [next in list] [prev in thread] [next in thread] 

List:       proftpd-committers
Subject:    [ProFTPD-committers] proftpd/contrib/mod_sftp packet.c,1.44,1.45
From:       TJ Saunders <castaglia () users ! sourceforge ! net>
Date:       2013-02-25 20:29:53
Message-ID: E1UA4gL-0006De-Pw () sfs-ml-1 ! v29 ! ch3 ! sourceforge ! com
[Download RAW message or body]

Update of /cvsroot/proftp/proftpd/contrib/mod_sftp
In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv27918/contrib/mod_sftp

Modified Files:
	packet.c 
Log Message:

Use a more conservative approach, and use memmove(3) instead of memcpy(3).


Index: packet.c
===================================================================
RCS file: /cvsroot/proftp/proftpd/contrib/mod_sftp/packet.c,v
retrieving revision 1.44
retrieving revision 1.45
diff -u -d -r1.44 -r1.45
--- packet.c	15 Feb 2013 22:46:42 -0000	1.44
+++ packet.c	25 Feb 2013 20:29:50 -0000	1.45
@@ -308,7 +308,7 @@
 static char peek_mesg_type(struct ssh2_packet *pkt) {
   char mesg_type;
 
-  memcpy(&mesg_type, pkt->payload, sizeof(char));
+  memmove(&mesg_type, pkt->payload, sizeof(char));
   return mesg_type;
 }
 
@@ -469,7 +469,7 @@
     return -1;
   }
 
-  memcpy(&packet_len, ptr, sizeof(uint32_t));
+  memmove(&packet_len, ptr, sizeof(uint32_t));
   pkt->packet_len = ntohl(packet_len);
 
   ptr += sizeof(uint32_t);
@@ -479,7 +479,7 @@
    * buffer.
    */
   if (len > 0) {
-    memcpy(buf, ptr, len);
+    memmove(buf, ptr, len);
     *buflen = (size_t) len;
   }
 
@@ -492,7 +492,7 @@
 
   if (*buflen > sizeof(char)) {
     /* XXX Assume the data in the buffer is unecrypted, and thus usable. */
-    memcpy(&pkt->padding_len, buf + *offset, sizeof(char));
+    memmove(&pkt->padding_len, buf + *offset, sizeof(char));
 
     /* Advance the buffer past the byte we just read off. */
     *offset += sizeof(char);
@@ -544,7 +544,7 @@
    */
   if (*buflen > 0) {
     if (*buflen < payload_len) {
-      memcpy(pkt->payload, buf + *offset, *buflen);
+      memmove(pkt->payload, buf + *offset, *buflen);
 
       payload_len -= *buflen;
       *offset = 0;
@@ -552,7 +552,7 @@
 
     } else {
       /* There's enough already for the payload length.  Nice. */
-      memcpy(pkt->payload, buf + *offset, payload_len);
+      memmove(pkt->payload, buf + *offset, payload_len);
 
       *offset += payload_len;
       *buflen -= payload_len;
@@ -569,7 +569,7 @@
    */
   if (*buflen > 0) {
     if (*buflen < padding_len) {
-      memcpy(pkt->padding, buf + *offset, *buflen);
+      memmove(pkt->padding, buf + *offset, *buflen);
 
       padding_len -= *buflen;
       *offset = 0;
@@ -577,7 +577,7 @@
 
     } else {
       /* There's enough already for the padding length.  Nice. */
-      memcpy(pkt->padding, buf + *offset, padding_len);
+      memmove(pkt->padding, buf + *offset, padding_len);
 
       *offset += padding_len;
       *buflen -= padding_len;
@@ -609,11 +609,11 @@
   }
 
   if (payload_len > 0) {
-    memcpy(pkt->payload + (pkt->payload_len - payload_len), ptr,
+    memmove(pkt->payload + (pkt->payload_len - payload_len), ptr,
       payload_len);
   }
 
-  memcpy(pkt->padding + (pkt->padding_len - padding_len), ptr + payload_len,
+  memmove(pkt->padding + (pkt->padding_len - padding_len), ptr + payload_len,
     padding_len);
   return 0;
 }
@@ -631,7 +631,7 @@
     return res;
 
   pkt->mac = palloc(pkt->pool, pkt->mac_len);
-  memcpy(pkt->mac, buf, res);
+  memmove(pkt->mac, buf, res);
 
   return 0;
 }
@@ -640,7 +640,7 @@
   pool *tmp_pool;
   struct ssh2_packet *pkt;
 
-  tmp_pool = pr_pool_create_sz(p, 128);
+  tmp_pool = make_sub_pool(p);
   pr_pool_tag(tmp_pool, "SSH2 packet pool");
 
   pkt = pcalloc(tmp_pool, sizeof(struct ssh2_packet));
@@ -659,7 +659,7 @@
     return -1;
   }
 
-  memcpy(tp, &last_recvd, sizeof(time_t));
+  memmove(tp, &last_recvd, sizeof(time_t));
   return 0;
 }
 
@@ -669,14 +669,14 @@
     return -1;
   }
 
-  memcpy(tp, &last_sent, sizeof(time_t));
+  memmove(tp, &last_sent, sizeof(time_t));
   return 0;
 }
 
 char sftp_ssh2_packet_get_mesg_type(struct ssh2_packet *pkt) {
   char mesg_type;
 
-  memcpy(&mesg_type, pkt->payload, sizeof(char));
+  memmove(&mesg_type, pkt->payload, sizeof(char));
   pkt->payload += sizeof(char);
   pkt->payload_len -= sizeof(char);
 


------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_feb
_______________________________________________
ProFTPD Committers Mailing List
proftpd-committers@proftpd.org
https://lists.sourceforge.net/lists/listinfo/proftp-committers
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic