]> andersk Git - moira.git/commitdiff
Make sure acl_type is LIST before using the object id as a list_id.
authorzacheiss <zacheiss>
Mon, 6 Jul 2009 16:23:15 +0000 (16:23 +0000)
committerzacheiss <zacheiss>
Mon, 6 Jul 2009 16:23:15 +0000 (16:23 +0000)
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.041514 seconds and 5 git commands to generate.