diff --git a/darshan-logutils.c b/darshan-logutils.c index 863ac4450f58c82b81bcc1ab9b419465e947f245..99e6806d29c4f04c0d3a3e15082bbfd069a30145 100644 --- a/darshan-logutils.c +++ b/darshan-logutils.c @@ -753,13 +753,13 @@ static int getfile_internal_122(darshan_fd fd, struct darshan_job *job, { int ret; - ret = getfile_internal_1x(fd, job, file, 133, 12); - if(ret < 0) + ret = getfile_internal_1x(fd, job, file, 138, 14); + if(ret <= 0) return(ret); shift_missing_1_22(file); - return(0); + return(1); } static int getfile_internal_121(darshan_fd fd, struct darshan_job *job, @@ -767,13 +767,13 @@ static int getfile_internal_121(darshan_fd fd, struct darshan_job *job, { int ret; - ret = getfile_internal_1x(fd, job, file, 138, 14); - if(ret < 0) + ret = getfile_internal_1x(fd, job, file, 133, 12); + if(ret <= 0) return(ret); shift_missing_1_21(file); - return(0); + return(1); } static int getfile_internal_1x(darshan_fd fd, struct darshan_job *job, diff --git a/darshan-parser.c b/darshan-parser.c index bd028f1cfaf1a8d5defdfaa60b674f2f81e059b3..83ce45f308eb781753d5aa53a4a87de3d4f44409 100644 --- a/darshan-parser.c +++ b/darshan-parser.c @@ -200,9 +200,12 @@ int main(int argc, char **argv) free(mnt_pts[i]); free(fs_types[i]); } - free(devs); - free(mnt_pts); - free(fs_types); + if(mount_count > 0) + { + free(devs); + free(mnt_pts); + free(fs_types); + } darshan_log_close(file); return(0);