fix proc_exe fallback to wmi
This commit is contained in:
		
							parent
							
								
									c88b49abe2
								
							
						
					
					
						commit
						c6b35167c8
					
				@ -99,6 +99,9 @@ int sigar_proc_exe_peb_get(sigar_t *sigar, HANDLE proc,
 | 
			
		||||
    RTL_USER_PROCESS_PARAMETERS rtl;
 | 
			
		||||
    DWORD size;
 | 
			
		||||
 | 
			
		||||
    procexe->name[0] = '\0';
 | 
			
		||||
    procexe->cwd[0] = '\0';
 | 
			
		||||
 | 
			
		||||
    if ((status = sigar_rtl_get(sigar, proc, &rtl)) != SIGAR_OK) {
 | 
			
		||||
        return status;
 | 
			
		||||
    }
 | 
			
		||||
@ -111,9 +114,6 @@ int sigar_proc_exe_peb_get(sigar_t *sigar, HANDLE proc,
 | 
			
		||||
    {
 | 
			
		||||
        SIGAR_W2A(buf, procexe->name, sizeof(procexe->name));
 | 
			
		||||
    }
 | 
			
		||||
    else {
 | 
			
		||||
        procexe->name[0] = '\0';
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    size = rtl_bufsize(buf, rtl.CurrentDirectoryName);
 | 
			
		||||
    memset(buf, '\0', sizeof(buf));
 | 
			
		||||
@ -123,9 +123,6 @@ int sigar_proc_exe_peb_get(sigar_t *sigar, HANDLE proc,
 | 
			
		||||
    {
 | 
			
		||||
        SIGAR_W2A(buf, procexe->cwd, sizeof(procexe->cwd));
 | 
			
		||||
    }
 | 
			
		||||
    else {
 | 
			
		||||
        procexe->cwd[0] = '\0';
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    return SIGAR_OK;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -1605,9 +1605,9 @@ SIGAR_DECLARE(int) sigar_proc_exe_get(sigar_t *sigar, sigar_pid_t pid,
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    status = sigar_proc_exe_peb_get(sigar, proc, procexe);
 | 
			
		||||
    if (status == ERROR_DATATYPE_MISMATCH) {
 | 
			
		||||
        /* we are 32-bit, pid process is 64-bit */
 | 
			
		||||
        procexe->cwd[0] = '\0'; /* XXX where else can we try? */
 | 
			
		||||
    if (procexe->name[0] == '\0') {
 | 
			
		||||
        /* likely we are 32-bit, pid process is 64-bit */
 | 
			
		||||
        /* procexe->cwd[0] = XXX where else can we try? */
 | 
			
		||||
        status = sigar_proc_exe_wmi_get(sigar, pid, procexe);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user