]> andersk Git - moira.git/blobdiff - server/qrtn.pc
Make sure acl_type is LIST before using the object id as a list_id.
[moira.git] / server / qrtn.pc
index cf95e434741f8a13c5aedc4af8b6b03bc2684955..3bc74c4b96127675c5ff375dfc891832dc2a622e 100644 (file)
@@ -641,16 +641,20 @@ int find_member(char *list_type, int list_id, client *cl)
   if (!strcmp(strtrim(list_type), "KERBEROS") && list_id == -cl->client_id)
     return 1;
 
-  /* see if client is a member of list */
-  flag = 0;
-  users_id = cl->users_id;
-  client_id = -cl->client_id;
-  EXEC SQL SELECT COUNT(member_id) INTO :flag FROM imembers
-    WHERE list_id = :list_id
-    AND ( ( member_type = 'USER' AND member_id = :users_id )
-         OR (member_type = 'KERBEROS' AND member_id = :client_id ) );
-  if (sqlca.sqlcode == 0)
-    return flag;
+  if (!strcmp(strtrim(list_type), "LIST"))
+    {
+      /* see if client is a member of list */
+      flag = 0;
+      users_id = cl->users_id;
+      client_id = -cl->client_id;
+      EXEC SQL SELECT COUNT(member_id) INTO :flag FROM imembers
+       WHERE list_id = :list_id
+       AND ( ( member_type = 'USER' AND member_id = :users_id )
+             OR (member_type = 'KERBEROS' AND member_id = :client_id ) );
+      if (sqlca.sqlcode == 0)
+       return flag;
+    }
+
   return 0;
 }
 
This page took 0.031281 seconds and 4 git commands to generate.