use local vars instead of kargs directly in proc_args
This commit is contained in:
		
							parent
							
								
									457212edcb
								
							
						
					
					
						commit
						1301c11251
					
				@ -976,28 +976,31 @@ int sigar_proc_args_get(sigar_t *sigar, sigar_pid_t pid,
 | 
				
			|||||||
                        sigar_proc_args_t *procargs)
 | 
					                        sigar_proc_args_t *procargs)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
#if defined(DARWIN)
 | 
					#if defined(DARWIN)
 | 
				
			||||||
    int status;
 | 
					    int status, count;
 | 
				
			||||||
    sigar_kern_proc_args_t kargs;
 | 
					    sigar_kern_proc_args_t kargs;
 | 
				
			||||||
 | 
					    char *ptr, *end;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    status = sigar_kern_proc_args_get(pid, &kargs);
 | 
					    status = sigar_kern_proc_args_get(pid, &kargs);
 | 
				
			||||||
    if (status != SIGAR_OK) {
 | 
					    if (status != SIGAR_OK) {
 | 
				
			||||||
        return status;
 | 
					        return status;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    count = kargs.count;
 | 
				
			||||||
 | 
					    ptr = kargs.ptr;
 | 
				
			||||||
 | 
					    end = kargs.end;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    sigar_proc_args_create(procargs);
 | 
					    sigar_proc_args_create(procargs);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    while ((kargs.ptr < kargs.end) &&
 | 
					    while ((ptr < end) && (count-- > 0)) {
 | 
				
			||||||
           (kargs.count-- > 0))
 | 
					        int alen = strlen(ptr)+1;
 | 
				
			||||||
    {
 | 
					 | 
				
			||||||
        int alen = strlen(kargs.ptr)+1;
 | 
					 | 
				
			||||||
        char *arg = malloc(alen);
 | 
					        char *arg = malloc(alen);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        SIGAR_PROC_ARGS_GROW(procargs);
 | 
					        SIGAR_PROC_ARGS_GROW(procargs);
 | 
				
			||||||
        memcpy(arg, kargs.ptr, alen);
 | 
					        memcpy(arg, ptr, alen);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        procargs->data[procargs->number++] = arg;
 | 
					        procargs->data[procargs->number++] = arg;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        kargs.ptr += alen;
 | 
					        ptr += alen;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    return SIGAR_OK;
 | 
					    return SIGAR_OK;
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user