docs: mark Phase 6 complete in phase6-scheduler-integration-plan
This commit is contained in:
parent
9b0e9571d1
commit
177cf45af5
17 changed files with 4226 additions and 361 deletions
|
|
@ -35,7 +35,9 @@
|
|||
}
|
||||
|
||||
xce_resource_t* r = NULL;
|
||||
lock(auxil->resmgr, RTTI_LOCK_READ);
|
||||
int rc = key_find(auxil->resmgr, (void*)name, (void**)&r);
|
||||
unlock(auxil->resmgr);
|
||||
if (rc <= 0 || r == NULL) {
|
||||
if (strcmp(name, "true") == 0 || strcmp(name, "false") == 0) {
|
||||
snprintf(auxil->errmsg, sizeof(auxil->errmsg),
|
||||
|
|
@ -182,6 +184,19 @@ comparison <- l:resname_node _ op:cmp_op _ r:value_node {
|
|||
}
|
||||
}
|
||||
}
|
||||
} else if (l->u.resname.res_type == RES_TYPE_NUMERIC &&
|
||||
r->type == SEL_STR) {
|
||||
/* Numeric resource vs string literal: reject — at eval time
|
||||
* is_str_cmp() would return true and simple_str() would read
|
||||
* h->strvals[numeric_idx] which is never populated for numeric
|
||||
* resources (NULL or garbage), causing a strcmp NULL-deref. */
|
||||
snprintf(auxil->errmsg, sizeof(auxil->errmsg),
|
||||
"type mismatch: numeric resource cannot be compared "
|
||||
"with a string literal");
|
||||
auxil->has_error = 1;
|
||||
SEL_DISCARD(l);
|
||||
SEL_DISCARD(r);
|
||||
$$ = NULL;
|
||||
} else {
|
||||
$$ = (xce_select_node_t*)makeSelectNode(op_type,
|
||||
(uintptr_t)l,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue