diff --git a/checkin_notes b/checkin_notes index c21a821ee9..04f7c2a4c0 100755 --- a/checkin_notes +++ b/checkin_notes @@ -2765,5 +2765,21 @@ Jeff 21 Mar 2007 fcgi_stdio.h David 21 Mar 2007 + - update sample web site front page + html/user/ sample_index.php + +David 21 Mar 2007 + - core client: fixed bug where a + in scheduler reply would crash client. + Also, change this tag to + Note: the syntax is + + xxx + + where xxx is the result name. + + client/ + cs_scheduler.C + scheduler_op.C,h diff --git a/client/cs_scheduler.C b/client/cs_scheduler.C index e07c93e583..3cae339269 100644 --- a/client/cs_scheduler.C +++ b/client/cs_scheduler.C @@ -722,15 +722,25 @@ int CLIENT_STATE::handle_scheduler_reply( } else { rp->abort_inactive(ERR_ABORTED_BY_PROJECT); } + } else { + msg_printf(project, MSG_INTERNAL_ERROR, + "Server requested abort of unknown task %s", + sr.result_abort[i].name + ); } } - for (i=0; iabort_inactive(ERR_ABORTED_BY_PROJECT); } + } else { + msg_printf(project, MSG_INTERNAL_ERROR, + "Server requested conditional abort of unknown task %s", + sr.result_abort_if_not_started[i].name + ); } } diff --git a/client/scheduler_op.C b/client/scheduler_op.C index 51eb99f72d..f34b6fe4a2 100644 --- a/client/scheduler_op.C +++ b/client/scheduler_op.C @@ -794,16 +794,16 @@ int SCHEDULER_REPLY::parse(FILE* in, PROJECT* project) { } else { result_abort.push_back(result); } - } else if (match_tag(buf, "")) { + } else if (match_tag(buf, "")) { RESULT result; - retval = result.parse_name(in, ""); + retval = result.parse_name(in, ""); if (retval) { msg_printf(project, MSG_INTERNAL_ERROR, - "Can't parse result abort-if-unstarted in scheduler reply: %s", + "Can't parse result abort-if-not-started in scheduler reply: %s", boincerror(retval) ); } else { - result_abort_if_unstarted.push_back(result); + result_abort_if_not_started.push_back(result); } } else if (parse_str(buf, "", delete_file_name)) { file_deletes.push_back(delete_file_name); diff --git a/client/scheduler_op.h b/client/scheduler_op.h index def4b2f093..6ba0505ba7 100644 --- a/client/scheduler_op.h +++ b/client/scheduler_op.h @@ -114,7 +114,7 @@ struct SCHEDULER_REPLY { std::vector results; std::vector result_acks; std::vector result_abort; - std::vector result_abort_if_unstarted; + std::vector result_abort_if_not_started; char* code_sign_key; char* code_sign_key_signature; bool message_ack;