]> jfr.im git - irc/ircd-hybrid/libopm.git/commitdiff
Fixed memory leaks in config.c
authorstrtok <redacted>
Wed, 6 Nov 2002 07:36:35 +0000 (07:36 +0000)
committerstrtok <redacted>
Wed, 6 Nov 2002 07:36:35 +0000 (07:36 +0000)
src/config.c
src/test.c

index c634d4a690c30da28246db02ddb8279eb2f5f23d..09d393be62bec0c7478d84cf811e959c5685e7ee 100644 (file)
@@ -118,10 +118,10 @@ void libopm_config_free(OPM_CONFIG_T *config)
    int num, i;
    num = sizeof(HASH) / sizeof(OPM_CONFIG_HASH_T);
 
-   for(i = 0; i > num; i++)
+   for(i = 0; i < num; i++)
    {
 
-      if(!config->vars[i])
+      if(config->vars[i] == NULL)
          continue;
       else
          MyFree(config->vars[i]);
@@ -163,19 +163,15 @@ OPM_ERR_T libopm_config_set(OPM_CONFIG_T *config, int key, void *value)
    {
       case OPM_TYPE_STRING:
          if((char *) config->vars[key] != NULL)
-            MyFree((char *) config->vars[key]);
+            MyFree(config->vars[key]);
          (char *) config->vars[key] = strdup((char *) value);
          break;
 
       case OPM_TYPE_INT:
-         if(((int *) config->vars[key]) == NULL)
-            (int *) config->vars[key] = MyMalloc(sizeof(int));
          *(int *) config->vars[key] = *(int *) value;
          break;
 
       case OPM_TYPE_ADDRESS:
-         if(((opm_sockaddr *) config->vars[key]) == NULL)
-            (opm_sockaddr *) config->vars[key] = MyMalloc(sizeof(opm_sockaddr));
          if( inetpton(AF_INET, (char *) value, &( ((opm_sockaddr *)config->vars[key])->sa4.sin_addr))
                   <= 0)
             return OPM_ERR_BADVALUE; /* return appropriate err code */
index de39e5a51929299c1b21e18f12ab8bee41f96ffe..fdbe0496dc3f4be8a162cd733b91af18d71bb9f8 100644 (file)
@@ -112,7 +112,7 @@ int main(int argc, char **argv)
       opm_cycle(scanner);
    
    opm_free(scanner);
-   while(1); 
+
    return 0; 
 }