[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: [rhel5-branch] Bump the implementation limit on the number of modules in modLoaded.



Ugh, geez.  Yes, ack.

On 06/27/2011 09:50 AM, Ales Kozumplik wrote:
After 08a79cbfb36b3a339a2aa34f02eec23b021a70bf we are over the current and
the loader segvs quite reliably.

Resolves: rhbz#716836
---
  loader2/modules.c |    4 +++-
  loader2/modules.h |    4 +++-
  2 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/loader2/modules.c b/loader2/modules.c
index 7f4dce3..cb34dff 100644
--- a/loader2/modules.c
+++ b/loader2/modules.c
@@ -335,6 +335,9 @@ static int loadModule(const char * modName, struct extractedModule * path,

      if (!rc) {
          int num = modLoaded->numModules;
+        if (num>= MODULES_MAXLOADED)
+            logMessage(CRITICAL, "The number of loaded modules is over the "
+                       "implementation limit.");

          modLoaded->mods[num].name = strdup(modName);
          modLoaded->mods[num].weLoaded = 1;
@@ -390,7 +393,6 @@ static int loadModule(const char * modName, struct extractedModule * path,
          } else {
              newArgs = NULL;
          }
-
          modLoaded->mods[modLoaded->numModules++].args = newArgs;
      }

diff --git a/loader2/modules.h b/loader2/modules.h
index 536a199..a12a235 100644
--- a/loader2/modules.h
+++ b/loader2/modules.h
@@ -4,6 +4,8 @@
  #include "moduleinfo.h"
  #include "moduledeps.h"

+#define MODULES_MAXLOADED 256
+
  typedef struct moduleList_s * moduleList;

  struct loadedModuleInfo {
@@ -23,7 +25,7 @@ struct extractedModule {
  };

  struct moduleList_s {
-    struct loadedModuleInfo mods[100];
+    struct loadedModuleInfo mods[MODULES_MAXLOADED];
      int numModules;
  };




--
David Cantrell <dcantrell redhat com>
Supervisor, Installer Engineering Team
Red Hat, Inc. | Westford, MA | EST5EDT


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]