summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorhien <hien>2006-02-20 22:39:20 +0000
committerhien <hien>2006-02-20 22:39:20 +0000
commitcd072b3e9f6cc3b152b3ae7101124bd24451234e (patch)
treee3b4fb6be7ed7d6a3b73446fd3d157c4baee8c37
parent6fb94098240c0e96055643d992bc8fae42071823 (diff)
downloadsystemtap-steved-cd072b3e9f6cc3b152b3ae7101124bd24451234e.tar.gz
systemtap-steved-cd072b3e9f6cc3b152b3ae7101124bd24451234e.tar.xz
systemtap-steved-cd072b3e9f6cc3b152b3ae7101124bd24451234e.zip
Fix uninitialized tv, ts, itv errors.
-rw-r--r--tapset/aux_syscalls.stp26
1 files changed, 15 insertions, 11 deletions
diff --git a/tapset/aux_syscalls.stp b/tapset/aux_syscalls.stp
index ec7cf469..2996ac16 100644
--- a/tapset/aux_syscalls.stp
+++ b/tapset/aux_syscalls.stp
@@ -19,13 +19,15 @@ function _struct_timeval_u:string(uaddr:long)
function _struct_timeval:string(addr:long)
%{
- struct timeval tv;
+ struct timeval *tv;
char *ptr = (char *)(unsigned long)THIS->addr;
if (ptr == NULL)
strlcpy (THIS->__retvalue, "NULL", MAXSTRINGLEN);
- else
- snprintf(THIS->__retvalue, MAXSTRINGLEN, "[%d.%06d]", tv.tv_sec, tv.tv_usec);
+ else {
+ tv=(struct timeval *) ptr;
+ snprintf(THIS->__retvalue, MAXSTRINGLEN, "[%ld.%06ld]", tv->tv_sec, tv->tv_usec);
+ }
%}
function _struct_timespec_u:string(uaddr:long)
@@ -46,14 +48,16 @@ function _struct_timespec_u:string(uaddr:long)
function _struct_timespec:string(addr:long)
%{
- struct timespec ts;
+ struct timespec *ts;
char *ptr = (char *)(unsigned long)THIS->addr;
if (ptr == NULL)
strlcpy (THIS->__retvalue, "NULL", MAXSTRINGLEN);
- else
+ else {
+ ts = (struct timespec *) ptr;
snprintf(THIS->__retvalue, MAXSTRINGLEN, "[%ld.%09ld]",
- (unsigned long)ts.tv_sec, (unsigned long)ts.tv_nsec);
+ (unsigned long)ts->tv_sec, (unsigned long)ts->tv_nsec);
+ }
%}
function _struct_itimerval_u:string(uaddr:long)
@@ -75,15 +79,16 @@ function _struct_itimerval_u:string(uaddr:long)
function _struct_itimerval:string(addr:long)
%{
- struct itimerval itv;
+ struct itimerval *itv;
char *ptr = (char *)(unsigned long)THIS->addr;
if (ptr == NULL)
strlcpy (THIS->__retvalue, "NULL", MAXSTRINGLEN);
else {
+ itv = (struct itimerval *) ptr;
snprintf(THIS->__retvalue, MAXSTRINGLEN, "[%d.%06d,%d.%06d]",
- (int)itv.it_interval.tv_sec, (int)itv.it_interval.tv_usec,
- (int)itv.it_value.tv_sec, (int)itv.it_value.tv_usec);
+ (int)itv->it_interval.tv_sec, (int)itv->it_interval.tv_usec,
+ (int)itv->it_value.tv_sec, (int)itv->it_value.tv_usec);
}
%}
@@ -193,7 +198,7 @@ function _struct_rlimit_u:string(uaddr:long)
if (ptr == NULL)
strlcpy (THIS->__retvalue, "NULL", MAXSTRINGLEN);
else {
- if (_stp_copy_from_user(&rl, ptr, sizeof(struct rlimit)) == 0)
+ if (_stp_copy_from_user((char *)&rl, ptr, sizeof(struct rlimit)) == 0)
snprintf(THIS->__retvalue, MAXSTRINGLEN, "[%ld,%ld]",
rl.rlim_cur, rl.rlim_max);
else
@@ -297,7 +302,6 @@ function __sem_flags:string(semflg:long)
str[strlen(str)-1] = 0;
%}
-
function __fork_flags:string(flags:long)
%{
long flags = THIS->flags;