]> git.sur5r.net Git - openldap/commitdiff
Handle the case where slapi_x_ldapmods2modifications() returns NULL; the
authorLuke Howard <lukeh@openldap.org>
Tue, 1 Apr 2003 17:38:02 +0000 (17:38 +0000)
committerLuke Howard <lukeh@openldap.org>
Tue, 1 Apr 2003 17:38:02 +0000 (17:38 +0000)
modify request becomes a NOOP for the front-end in this case.

servers/slapd/modify.c

index cada1d417fdcf4414f563843ad5f9f41e2c6bcd3..5677d1f1c720804ddb2d30f4866651c17c7d4ccf 100644 (file)
@@ -361,6 +361,20 @@ do_modify(
         */
        slapi_pblock_get( pb, SLAPI_MODIFY_MODS, (void **)&modv );
        modlist = slapi_x_ldapmods2modifications( modv );
+
+       /*
+        * NB: it is valid for the plugin to return no modifications
+        * (for example, a plugin might store some attributes elsewhere
+        * and remove them from the modification list; if only those
+        * attribute types were included in the modification request,
+        * then slapi_x_ldapmods2modifications() above will return
+        * NULL).
+        */
+       if ( modlist == NULL ) {
+               rs->sr_err = LDAP_SUCCESS;
+               send_ldap_result( op, rs );
+               goto cleanup;
+       }
 #endif /* defined( LDAP_SLAPI ) */
 
        /*