Closes Debian bug #662194
cf, *lineno, input);
return NULL;
}
+
+ if (p + strlen(cp->value) >= output + outsize) {
+ radlog(L_ERR, "%s[%d]: Reference \"%s\" is too long",
+ cf, *lineno, input);
+ return NULL;
+ }
+
strcpy(p, cp->value);
p += strlen(p);
ptr = end + 1;
env = name;
}
+ if (p + strlen(env) >= output + outsize) {
+ radlog(L_ERR, "%s[%d]: Reference \"%s\" is too long",
+ cf, *lineno, input);
+ return NULL;
+ }
+
strcpy(p, env);
p += strlen(p);
ptr = end + 1;
*/
*(p++) = *(ptr++);
}
+
+ if (p >= (output + outsize)) {
+ radlog(L_ERR, "%s[%d]: Reference \"%s\" is too long",
+ cf, *lineno, input);
+ return NULL;
+ }
} /* loop over all of the input string. */
*p = '\0';