From d6cf9ebaaadf123aacca20e42e0018eb6a8a58b0 Mon Sep 17 00:00:00 2001 From: Marc Delisle Date: Fri, 29 Aug 2014 09:08:02 -0400 Subject: [PATCH] bug in server_privileges.js: cannot read property Signed-off-by: Marc Delisle --- ChangeLog | 1 + js/server_privileges.js | 19 +++++++++++-------- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/ChangeLog b/ChangeLog index 5779154ef2..801940ff73 100644 --- a/ChangeLog +++ b/ChangeLog @@ -9,6 +9,7 @@ phpMyAdmin - ChangeLog - bug #4518 Export to SQL: CREATE TABLE option AUTO_INCREMENT ignored - bug #4522 Duplicate column names while assigning index - bug #4487 Export of partitioned table does not import +- bug server_privileges.js: cannot read property 4.2.7.1 (2014-08-17) - bug #4501 [security] XSS in table browse page diff --git a/js/server_privileges.js b/js/server_privileges.js index 30b1f8463f..0cdf6b150b 100644 --- a/js/server_privileges.js +++ b/js/server_privileges.js @@ -48,14 +48,17 @@ function appendNewUser(new_user_string, new_user_initial, new_user_initial_strin if ($curr_last_row.length) { // at least one tr exists inside the tbody var $curr_first_row = $("#usersForm").find('tbody').find('tr:first'); - var first_row_initial = $curr_first_row.find('label').html().substr(0, 1).toUpperCase(); - var curr_shown_initial = $curr_last_row.find('label').html().substr(0, 1).toUpperCase(); - var curr_last_row_index_string = $curr_last_row.find('input:checkbox').attr('id').match(/\d+/)[0]; - var curr_last_row_index = parseFloat(curr_last_row_index_string); - var new_last_row_index = curr_last_row_index + 1; - var is_show_all = (first_row_initial != curr_shown_initial) ? true : false; - var $insert_position = $curr_last_row; - var dummy_tr_inserted = false; + var $first_row_label = $curr_first_row.find('label'); + if ($first_row_label.length) { + var first_row_initial = $first_row_label.html().substr(0, 1).toUpperCase(); + var curr_shown_initial = $curr_last_row.find('label').html().substr(0, 1).toUpperCase(); + var curr_last_row_index_string = $curr_last_row.find('input:checkbox').attr('id').match(/\d+/)[0]; + var curr_last_row_index = parseFloat(curr_last_row_index_string); + var new_last_row_index = curr_last_row_index + 1; + var is_show_all = (first_row_initial != curr_shown_initial) ? true : false; + var $insert_position = $curr_last_row; + var dummy_tr_inserted = false; + } } else { // no tr exists inside the tbody var $tbody = $("#usersForm").find('tbody');