Просмотр исходного кода

Ticket 534 - RFE: Add SASL mappings fallback

Bug Description:  The function for removing entries from the list of SASL
                  mappings causes segmentation faults.

Fix Description:  Use correct double-linked list deletion routine in the
                  function.

https://fedorahosted.org/389/ticket/534

Reviewed by: mreynolds
Mark Reynolds 12 лет назад
Родитель
Сommit
2e5a30d6c9
1 измененных файлов с 6 добавлено и 4 удалено
  1. 6 4
      ldap/servers/slapd/sasl_map.c

+ 6 - 4
ldap/servers/slapd/sasl_map.c

@@ -138,14 +138,16 @@ sasl_map_remove_list_entry(sasl_map_private *priv, char *removeme)
 			prev = current->prev;
 			if (prev) {
 				/* Unlink it */
-				if(next){
-				   next->prev = prev;
+				if (next) {
+					next->prev = prev;
 				}
 				prev->next = next;
 			} else {
 				/* That was the first list entry */
-				priv->map_data_list = current->next;
-				priv->map_data_list->prev = NULL;
+				if (next) {
+					next->prev = NULL;
+				}
+				priv->map_data_list = next;
 			}
 			/* Payload free */
 			sasl_map_free_data(&current);