From 3f21025734fc68ad741088c07c29893a03cd0062 Mon Sep 17 00:00:00 2001
From: komaln <komaln>
Date: Thu, 6 Mar 2008 05:29:32 +0000
Subject: [PATCH] b=14971 r=Adilger to solve RHEL5/ia64 build error related to
 'lctl {get,set}_param' patch

---
 lustre/utils/lustre_cfg.c | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/lustre/utils/lustre_cfg.c b/lustre/utils/lustre_cfg.c
index 55836d7afa..865d115d48 100644
--- a/lustre/utils/lustre_cfg.c
+++ b/lustre/utils/lustre_cfg.c
@@ -548,8 +548,8 @@ int jt_lcfg_getparam(int argc, char **argv)
 {
         int fp;
         int rc = 0, i, show_path = 0;
-        char buf[CFS_PAGE_SIZE] = {'\0'}, pattern[PATH_MAX];
-        char *path, *tmp;
+        char pattern[PATH_MAX];
+        char *path, *tmp, *buf;
         glob_t glob_info;
 
         if (argc == 3 && strcmp(argv[1], "-n") == 0) {
@@ -587,8 +587,11 @@ int jt_lcfg_getparam(int argc, char **argv)
                 return rc;
         }
 
+        buf = malloc(CFS_PAGE_SIZE);
         for (i = 0; i  < glob_info.gl_pathc; i++) {
                 char *valuename = NULL;
+
+                memset(buf, 0, CFS_PAGE_SIZE);
                 if (show_path) {
                         char *filename;
                         filename = strdup(glob_info.gl_pathv[i]);
@@ -605,7 +608,7 @@ int jt_lcfg_getparam(int argc, char **argv)
                 }
 
                 do {
-                        rc = read(fp, buf, sizeof(buf));
+                        rc = read(fp, buf, CFS_PAGE_SIZE);
                         if (rc == 0)
                                 break;
                         if (rc < 0) {
@@ -634,11 +637,11 @@ int jt_lcfg_getparam(int argc, char **argv)
                                 break;
                         }
                 } while (1);
-                memset(buf, 0, sizeof(buf));
                 close(fp);
         }
 
         globfree(&glob_info);
+        free(buf);
         return rc;
 }
 
-- 
GitLab