Fix database not update
authorNeutron Soutmun <neo.neutron@gmail.com>
Sun, 1 Aug 2010 04:03:04 +0000 (11:03 +0700)
committerNeutron Soutmun <neo.neutron@gmail.com>
Sun, 1 Aug 2010 04:03:04 +0000 (11:03 +0700)
  * Fix database not update due to not enough buffer space for string.
  * Fix daemon that could not start on RH_DEBUG is defined (Debug mode).

src/rh-task-dbset.c
src/rh-task-iptables.c

index 53dff32..9d09ac5 100644 (file)
@@ -344,7 +344,7 @@ static int startsess (struct vserver *vs, struct task_req *req)
 {
   GdaConnection *connection;
   gint res;
-  char startsess_cmd[256];
+  char startsess_cmd[512];
   char time_str[32];
   char time_str2[32];
   GList *member_node = NULL;
@@ -366,7 +366,7 @@ static int startsess (struct vserver *vs, struct task_req *req)
          "(session_id,vserver_id,username,ip,mac,session_start,"
          "session_timeout,bandwidth_slot_id,bandwidth_max_down,"
          "bandwidth_max_up,service_class,service_class_slot_id) "
-         "VALUES('%s','%d','%s','%s','%s',%s,%s,%u,%lu,%lu,'%s',%lu)",
+         "VALUES('%s','%d','%s','%s','%s',%s,%s,%u,%lu,%lu,'%s',%u)",
          req->session_id, 
          vs->vserver_config->vserver_id, 
          req->username, 
index 1262a6b..8990f81 100644 (file)
@@ -28,6 +28,7 @@ int iptables_exec(struct vserver *vs, char *const args[])
   int fd = 0;
   int i = 0;
   char *env[22];
+  int env_size = (sizeof (env) / sizeof (char *));
 
   env[0]  = g_strdup("ENV_OVERRIDE=yes");
   env[1]  = g_strdup_printf("SETNAME=%s", vs->vserver_config->vserver_name);
@@ -57,7 +58,7 @@ int iptables_exec(struct vserver *vs, char *const args[])
                             "yes" : "no");
   env[21] = (char *) 0;
 
-  for (i = 0; i < sizeof (env); i++) {
+  for (i = 0; i < env_size; i++) {
     if (env[i] != NULL) 
       DP("%s", env[i]);
   }
@@ -97,7 +98,7 @@ int iptables_exec(struct vserver *vs, char *const args[])
   close(exec_pipe[1]);
 
  
-  for (i = 0; i < 24; i++) {
+  for (i = 0; i < env_size; i++) {
     g_free(env[i]);
   }