1.1 --- a/src/os/linux/vm/os_linux.cpp Wed Dec 24 13:06:09 2008 -0800 1.2 +++ b/src/os/linux/vm/os_linux.cpp Wed Dec 24 19:13:53 2008 -0800 1.3 @@ -1160,7 +1160,10 @@ 1.4 1.5 /* 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 */ 1.6 /* 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 */ 1.7 - i = sscanf(s, "%c %d %d %d %d %d %lu %lu %lu %lu %lu %lu %lu %ld %ld %ld %ld %ld %ld %lu %lu %ld %lu %lu %lu %lu", 1.8 + i = sscanf(s, "%c %d %d %d %d %d %lu %lu %lu %lu %lu %lu %lu %ld %ld %ld %ld %ld %ld " 1.9 + UINTX_FORMAT UINTX_FORMAT UINTX_FORMAT 1.10 + " %lu " 1.11 + UINTX_FORMAT UINTX_FORMAT UINTX_FORMAT, 1.12 &state, /* 3 %c */ 1.13 &ppid, /* 4 %d */ 1.14 &pgrp, /* 5 %d */ 1.15 @@ -1180,13 +1183,13 @@ 1.16 &nice, /* 19 %ld */ 1.17 &junk, /* 20 %ld */ 1.18 &it_real, /* 21 %ld */ 1.19 - &start, /* 22 %lu */ 1.20 - &vsize, /* 23 %lu */ 1.21 - &rss, /* 24 %ld */ 1.22 + &start, /* 22 UINTX_FORMAT */ 1.23 + &vsize, /* 23 UINTX_FORMAT */ 1.24 + &rss, /* 24 UINTX_FORMAT */ 1.25 &rsslim, /* 25 %lu */ 1.26 - &scodes, /* 26 %lu */ 1.27 - &ecode, /* 27 %lu */ 1.28 - &stack_start); /* 28 %lu */ 1.29 + &scodes, /* 26 UINTX_FORMAT */ 1.30 + &ecode, /* 27 UINTX_FORMAT */ 1.31 + &stack_start); /* 28 UINTX_FORMAT */ 1.32 } 1.33 1.34 if (i != 28 - 2) { 1.35 @@ -2024,7 +2027,8 @@ 1.36 CAST_FROM_FN_PTR(address, os::jvm_path), 1.37 dli_fname, sizeof(dli_fname), NULL); 1.38 assert(ret != 0, "cannot locate libjvm"); 1.39 - realpath(dli_fname, buf); 1.40 + if (realpath(dli_fname, buf) == NULL) 1.41 + return; 1.42 1.43 if (strcmp(Arguments::sun_java_launcher(), "gamma") == 0) { 1.44 // Support for the gamma launcher. Typical value for buf is 1.45 @@ -2048,7 +2052,8 @@ 1.46 assert(strstr(p, "/libjvm") == p, "invalid library name"); 1.47 p = strstr(p, "_g") ? "_g" : ""; 1.48 1.49 - realpath(java_home_var, buf); 1.50 + if (realpath(java_home_var, buf) == NULL) 1.51 + return; 1.52 sprintf(buf + strlen(buf), "/jre/lib/%s", cpu_arch); 1.53 if (0 == access(buf, F_OK)) { 1.54 // Use current module name "libjvm[_g].so" instead of 1.55 @@ -2059,7 +2064,8 @@ 1.56 sprintf(buf + strlen(buf), "/hotspot/libjvm%s.so", p); 1.57 } else { 1.58 // Go back to path of .so 1.59 - realpath(dli_fname, buf); 1.60 + if (realpath(dli_fname, buf) == NULL) 1.61 + return; 1.62 } 1.63 } 1.64 } 1.65 @@ -4184,11 +4190,11 @@ 1.66 // Skip blank chars 1.67 do s++; while (isspace(*s)); 1.68 1.69 - count = sscanf(s,"%c %d %d %d %d %d %lu %lu %lu %lu %lu %lu %lu", 1.70 - &idummy, &idummy, &idummy, &idummy, &idummy, &idummy, 1.71 + count = sscanf(s,"%*c %d %d %d %d %d %lu %lu %lu %lu %lu %lu %lu", 1.72 + &idummy, &idummy, &idummy, &idummy, &idummy, 1.73 &ldummy, &ldummy, &ldummy, &ldummy, &ldummy, 1.74 &user_time, &sys_time); 1.75 - if ( count != 13 ) return -1; 1.76 + if ( count != 12 ) return -1; 1.77 if (user_sys_cpu_time) { 1.78 return ((jlong)sys_time + (jlong)user_time) * (1000000000 / clock_tics_per_sec); 1.79 } else {