Re: [Exim] 3.36 -D problem

Top Page
Delete this message
Reply to this message
Author: Philip Hazel
Date:  
To: Nico Erfurth
CC: John Jetmore, exim-users
Subject: Re: [Exim] 3.36 -D problem
On Tue, 16 Jul 2002, Nico Erfurth wrote:

> This should fix the problem for 4.05, at least i think so, it adds a
> syntax-check,
> so the macro-definition MUST start with a alphanumeric-character.


No, that isn't the right fix, I'm afraid. It would cause Exim to take
the next argument as the data for -D when -D was not followed by an
alphanumeric character. This is the right fix (also includes a minor
formatting typo):


*** 1197,1206 ****
          s++;
          }
        name[ptr] = 0;
        while (isspace(*s)) s++;
        if (*s == 0)
          {
!         if(++i < argc) s = argv[i]; else
            { badarg = TRUE; break; }
          }
        if (*s++ != '=') { badarg = TRUE; break; }
--- 1197,1207 ----
          s++;
          }
        name[ptr] = 0;
+       if (ptr == 0) { badarg = TRUE; break; }
        while (isspace(*s)) s++;
        if (*s == 0)
          {
!         if (++i < argc) s = argv[i]; else
            { badarg = TRUE; break; }
          }
        if (*s++ != '=') { badarg = TRUE; break; }




--
Philip Hazel            University of Cambridge Computing Service,
ph10@???      Cambridge, England. Phone: +44 1223 334714.