------- You are receiving this mail because: ------- You are on the CC list for the bug.
http://bugs.exim.org/show_bug.cgi?id=1454 --- Comment #7 from Heiko Schlichting <[email protected]> 2014-04-25 18:24:14 --- (1) if (trusted_config && mac_ismsgid(argv[++i]) ) does not work here: (1.1) if trusted_config is false, "i" is not increased. (1.2) This can be solved by reversing the order to if (mac_ismsgid(argv[++i] && trusted_config) but this does not work either and complain about invalid message ids. (1.3) The we can reverse the change to if (trusted_config && mac_ismsgid(argv[i+1]) ) message_reference = argv[++i]; if there is an exit in the else clause and "i" does not need to be increased. (2) I agree that exit(EXIT_FAILURE); might be a good idea. Ignoring wrong arguments is confusing and wrong usage is a fatal error. (3) I prefer to split both error conditions infavor of more precise error message. But this results in more lines of code: else if (Ustrcmp(argrest, "Mm") == 0) { if (!mac_ismsgid(argv[i+1])) { fprintf(stderr,"-oMm must be a valid message ID\n"); exit(EXIT_FAILURE); } if (!trusted_config) { fprintf(stderr,"-oMm must be called by a trusted user/config\n"); exit(EXIT_FAILURE); } message_reference = argv[++i]; } -- Configure bugmail: http://bugs.exim.org/userprefs.cgi?tab=email -- ## List details at https://lists.exim.org/mailman/listinfo/exim-dev Exim details at http://www.exim.org/ ##
