Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
replace sprintf by bprintf
authorsuter <frederic.suter@cc.in2p3.fr>
Fri, 30 May 2014 18:40:35 +0000 (20:40 +0200)
committersuter <frederic.suter@cc.in2p3.fr>
Fri, 30 May 2014 18:40:35 +0000 (20:40 +0200)
src/msg/msg_io.c

index a54d6a1..0a3ce20 100644 (file)
@@ -189,17 +189,17 @@ sg_size_t MSG_file_write(msg_file_t fd, sg_size_t size)
  */
 msg_file_t MSG_file_open(const char* fullpath, void* data)
 {
-  char name[2048];
+  char *name;
   msg_file_priv_t priv = xbt_new(s_msg_file_priv_t, 1);
   priv->data = data;
   priv->fullpath = xbt_strdup(fullpath);
   priv->simdata = xbt_new0(s_simdata_file_t,1);
   priv->simdata->smx_file = simcall_file_open(fullpath, MSG_host_self());
-  sprintf(name, "%s:%i:%s",MSG_host_get_name(MSG_host_self()),MSG_process_self_PID(),fullpath);
+  name = bprintf("%s:%i:%s",MSG_host_get_name(MSG_host_self()),MSG_process_self_PID(),fullpath);
   xbt_lib_set(file_lib, name, MSG_FILE_LEVEL, priv);
   msg_file_t fd = (msg_file_t) xbt_lib_get_elm_or_null(file_lib, name);
   __MSG_file_get_info(fd);
-
+  xbt_free(name);
   return fd;
 }
 
@@ -211,12 +211,13 @@ msg_file_t MSG_file_open(const char* fullpath, void* data)
  */
 int MSG_file_close(msg_file_t fd)
 {
-  char name[2048];
+  char *name;
   msg_file_priv_t priv = MSG_file_priv(fd);
 
   int res = simcall_file_close(priv->simdata->smx_file, MSG_host_self());
-  sprintf(name, "%s:%i:%s",MSG_host_get_name(MSG_host_self()),MSG_process_self_PID(),priv->fullpath);
+  name = bprintf("%s:%i:%s",MSG_host_get_name(MSG_host_self()),MSG_process_self_PID(),priv->fullpath);
   xbt_lib_unset(file_lib, name, MSG_FILE_LEVEL, 1);
+  xbt_free(name);
   return res;
 }