[sudo-workers] wierd construction
Radovan Sroka
rsroka at redhat.com
Tue Aug 18 05:58:37 MDT 2015
Hi,
I'm just doing static analysis, and I found something curious in plugins/sudoers/visudo.c.
if (editor_path == NULL) {
/* def_editor could be a path, split it up, avoiding strtok() */
const char *def_editor_end = def_editor + strlen(def_editor);
const char *cp, *ep;
for (cp = sudo_strsplit(def_editor, def_editor_end, ":", &ep);
cp != NULL; cp = sudo_strsplit(NULL, def_editor_end, ":", &ep)) {
editor_path = resolve_editor(cp, (size_t)(ep - cp), 2, files,
editor_argc, editor_argv, whitelist);
if (editor_path == NULL && errno != ENOENT)
debug_return_str(NULL);
} while (ep != NULL && editor_path == NULL);
}
Do you see for-while construction?
I doubt that was your intention. I suppose that you were changing "for" for "while" cycle and not successful.
What do you thing about that?
Radovan Sroka
More information about the sudo-workers
mailing list