Revision: 7405
          http://playerstage.svn.sourceforge.net/playerstage/?rev=7405&view=rev
Author:   gerkey
Date:     2009-03-09 20:08:24 +0000 (Mon, 09 Mar 2009)

Log Message:
-----------
Fixed model-name copying in simiface

Modified Paths:
--------------
    code/branches/federation/gazebo/libgazebo/SimIface.cc

Modified: code/branches/federation/gazebo/libgazebo/SimIface.cc
===================================================================
--- code/branches/federation/gazebo/libgazebo/SimIface.cc       2009-03-09 
19:14:49 UTC (rev 7404)
+++ code/branches/federation/gazebo/libgazebo/SimIface.cc       2009-03-09 
20:08:24 UTC (rev 7405)
@@ -156,7 +156,9 @@
   this->Lock(1);
   SimulationRequestData *request = 
&(this->data->requests[this->data->requestCount++]);
   request->type = SimulationRequestData::GET_POSE3D;
-  memcpy(request->modelName, modelName, 512);
+  memset(request->modelName, 0, 512);
+  strncpy(request->modelName, modelName, 512);
+  request->modelName[511] = '\0';
 
   this->Unlock();
 }
@@ -168,7 +170,9 @@
   this->Lock(1);
   SimulationRequestData *request = 
&(this->data->requests[this->data->requestCount++]);
   request->type = SimulationRequestData::GET_POSE2D;
-  memcpy(request->modelName, modelName, 512);
+  memset(request->modelName, 0, 512);
+  strncpy(request->modelName, modelName, 512);
+  request->modelName[511] = '\0';
 
   this->Unlock();
 }
@@ -183,7 +187,9 @@
   request->type = SimulationRequestData::SET_POSE3D;
   request->modelPose = modelPose;
 
-  memcpy(request->modelName, modelName, 512);
+  memset(request->modelName, 0, 512);
+  strncpy(request->modelName, modelName, 512);
+  request->modelName[511] = '\0';
 
   this->Unlock();
 }
@@ -197,7 +203,9 @@
 
   request->type = gazebo::SimulationRequestData::SET_POSE2D;
 
-  memcpy(request->modelName, modelName, 512);
+  memset(request->modelName, 0, 512);
+  strncpy(request->modelName, modelName, 512);
+  request->modelName[511] = '\0';
 
   request->modelPose.pos.x = x;
   request->modelPose.pos.y = y;
@@ -216,7 +224,9 @@
   SimulationRequestData *request = 
&(this->data->requests[this->data->requestCount++]);
 
   request->type = gazebo::SimulationRequestData::SET_STATE;
-  memcpy(request->modelName, modelName, 512);
+  memset(request->modelName, 0, 512);
+  strncpy(request->modelName, modelName, 512);
+  request->modelName[511] = '\0';
 
   request->modelPose = modelPose;
   request->modelLinearVel = linearVel;


This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.

------------------------------------------------------------------------------
Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA
-OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise
-Strategies to boost innovation and cut costs with open source participation
-Receive a $600 discount off the registration fee with the source code: SFAD
http://p.sf.net/sfu/XcvMzF8H
_______________________________________________
Playerstage-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/playerstage-commit

Reply via email to