diff options
author | guanglei <guanglei> | 2006-12-20 08:03:46 +0000 |
---|---|---|
committer | guanglei <guanglei> | 2006-12-20 08:03:46 +0000 |
commit | fdc762c866de90552f59258b23ef46ff58cbac1e (patch) | |
tree | 648ba3cda6bdca466f452c71dac747219c60fbe3 | |
parent | 7e41d3dc4003b7e05731173f6b22cc9e1b05f057 (diff) | |
download | systemtap-steved-fdc762c866de90552f59258b23ef46ff58cbac1e.tar.gz systemtap-steved-fdc762c866de90552f59258b23ef46ff58cbac1e.tar.xz systemtap-steved-fdc762c866de90552f59258b23ef46ff58cbac1e.zip |
runtime/lket/b2a/lket-b2a.c:
bugfix for NULL appname when search appNameTree.
-rw-r--r-- | runtime/ChangeLog | 4 | ||||
-rw-r--r-- | runtime/lket/b2a/lket_b2a.c | 17 |
2 files changed, 18 insertions, 3 deletions
diff --git a/runtime/ChangeLog b/runtime/ChangeLog index d04c8bb1..e26da47b 100644 --- a/runtime/ChangeLog +++ b/runtime/ChangeLog @@ -1,3 +1,7 @@ +2006-12-20 Li Guanglei <guanglei@cn.ibm.com> + * runtime/lket/b2a/lket_b2a.c: bugfix for NULL appname when + search appNameTree. + 2006-12-18 David Smith <dsmith@redhat.com> * lket/b2a/Makefile.in: Regenerated. This needed to be done since diff --git a/runtime/lket/b2a/lket_b2a.c b/runtime/lket/b2a/lket_b2a.c index e7c2dae4..e8a880a0 100644 --- a/runtime/lket/b2a/lket_b2a.c +++ b/runtime/lket/b2a/lket_b2a.c @@ -419,7 +419,12 @@ void register_appname(int i, FILE *fp, lket_pkt_header *phdr) fread(&pid, 1, 4, fp); /* read pid */ fread(&ppid, 1, 4, fp); /* read ppid */ - strncpy(appname, (char *)(g_tree_lookup(appNameTree,(gconstpointer)((long)ppid))), 256); + char *appname_ptr; + appname_ptr = (char *)(g_tree_lookup(appNameTree,(gconstpointer)((long)ppid))); + if(appname_ptr == NULL) + strncpy(appname, "N/A", 4); + else + strncpy(appname, appname_ptr, 256); } else { free(appname); @@ -615,8 +620,14 @@ void print_pkt_header(lket_pkt_header *phdr) if(into_file) { fprintf(outfp, "\n%d.%d CPU:%d TID:%d, PID:%d, PPID:%d, ", sec, usec, HDR_CpuID(phdr), tid, pid, ppid); - if(appname_flag==1) - fprintf(outfp, "APPNAME:%s ", (char *)(g_tree_lookup(appNameTree,(gconstpointer)((long)pid)))); + if(appname_flag==1) { + char *appname_ptr; + appname_ptr = (char *)(g_tree_lookup(appNameTree,(gconstpointer)((long)pid))); + if(appname_ptr == NULL) + fprintf(outfp, "APPNAME:N/A "); + else + fprintf(outfp, "APPNAME:%s ", appname_ptr); + } if(name_flag==1) fprintf(outfp, "EVT_NAME:%s ", events_des[_HOOKID_REGSYSEVT][grpid][hookid]->description); if(id_flag==1) |