s4:ldap_backend.c - fix crash bugs when we got in error situations with "res" still...
authorMatthias Dieter Wallnöfer <mdw@samba.org>
Thu, 17 Jun 2010 14:35:55 +0000 (16:35 +0200)
committerMatthias Dieter Wallnöfer <mdw@samba.org>
Fri, 18 Jun 2010 08:03:19 +0000 (10:03 +0200)
source4/ldap_server/ldap_backend.c

index 70f457249c66352d7ae54822ba44e729c91db59e..364fe54e0b30f3a5670f914fd9664caf97f114d0 100644 (file)
@@ -746,8 +746,7 @@ reply:
 
        modify_result = &modify_reply->msg->r.ModifyResponse;
        modify_result->dn = NULL;
-
-       if (res->refs != NULL) {
+       if ((res != NULL) && (res->refs != NULL)) {
                modify_result->resultcode = map_ldb_error(local_ctx,
                                                          LDB_ERR_REFERRAL,
                                                          NULL, &errstr);
@@ -837,7 +836,7 @@ reply:
 
        add_result = &add_reply->msg->r.AddResponse;
        add_result->dn = NULL;
-       if (res->refs != NULL) {
+       if ((res != NULL) && (res->refs != NULL)) {
                add_result->resultcode =  map_ldb_error(local_ctx,
                                                        LDB_ERR_REFERRAL, NULL,
                                                        &errstr);
@@ -893,7 +892,7 @@ reply:
 
        del_result = &del_reply->msg->r.DelResponse;
        del_result->dn = NULL;
-       if (res->refs != NULL) {
+       if ((res != NULL) && (res->refs != NULL)) {
                del_result->resultcode = map_ldb_error(local_ctx,
                                                       LDB_ERR_REFERRAL, NULL,
                                                       &errstr);
@@ -998,7 +997,7 @@ reply:
 
        modifydn = &modifydn_r->msg->r.ModifyDNResponse;
        modifydn->dn = NULL;
-       if (res->refs != NULL) {
+       if ((res != NULL) && (res->refs != NULL)) {
                modifydn->resultcode = map_ldb_error(local_ctx,
                                                     LDB_ERR_REFERRAL, NULL,
                                                     &errstr);;