true or false?

Youzhong Yang Youzhong.Yang at mathworks.com
Mon Dec 19 16:54:00 UTC 2016


Hi,

While browsing samba code, I found something puzzling:

source3/smbd/smbXsrv_open.c -> smbXsrv_open_global_verify_record()

        if (server_id_is_disconnected(&global->server_id)) {
                exists = true;
        } else {
                exists = serverid_exists(&global->server_id);
        }
        if (!exists) {
                struct server_id_buf idbuf;
                DEBUG(2,("smbXsrv_open_global_verify_record: "
                         "key '%s' server_id %s does not exist.\n",
                         hex_encode_talloc(frame, key.dptr, key.dsize),
                         server_id_str_buf(global->server_id, &idbuf)));
                if (CHECK_DEBUGLVL(2)) {
                        NDR_PRINT_DEBUG(smbXsrv_open_globalB, &global_blob);
                }
                TALLOC_FREE(frame);
                dbwrap_record_delete(db_rec);
                *is_free = true;
                return;
        }

If server_id is disconnected, shouldn't "exists" be set to false? Am I wrong?

Thanks,

-Youzhong



More information about the samba-technical mailing list