--- proc_linux.1.289.cpp	2010-06-13 17:02:40.642042721 +0200
+++ proc_linux.cpp	2010-06-13 17:08:03.567042105 +0200
@@ -497,26 +497,24 @@
 		groupname=groupName(gid,egid);
 		
 		int bug=0;
-		char cmdline_cmd[256]; // !!!! some name .... larger
+		char cmdline_cmd[512] = ""; // !!!! some name .... larger
 		//read /proc/pid/cmdline
 		int size;
-		cmdline_cmd[0]=0;
 
 		// anyone can read [cmdline]
 		if((buf= read_proc_file2(path,"cmdline", &size)) ==0 ) return -1;
 		else {
 			//printf("DEBUG: size=%d \n",size);
-			int  cmdlen=strlen(buf);
 		
-			if(cmdlen == 0) {
+			if(strlen(buf) == 0) {
 				// 1. kthread 
 				// printf("Qps:debug no_cmdline pid=%d\n",pid );
 				cmdline = "";
 			} 	
 			else
 			{
-				strcpy(cmdline_cmd,buf); // copy cmd without options
-				
+				strncpy(cmdline_cmd, buf, sizeof(cmdline_cmd)); // copy cmd without options
+				cmdline_cmd[sizeof(cmdline_cmd) -1] = 0;
 				//change 0x00,0xA to ' ' 
 				for(int i = 0; i < size - 1; i++)  //OVERFLOW
 					if(buf[i]==0 or buf[i]==0x0A) 

