- char buffer[sizeof(HTTP_RESPONSE_FORMAT) - 1 /* '\0' */
- - 4 * 2 /* four %s */
- + (sizeof(RESPONSE_ERROR) - 1 /* '\0' */) * 3
- + sizeof(RESPONSE_MSG) - 1 /* '\0' */
- + 1 /* '\0' */];
-
- result = snprintf(buffer, sizeof(buffer),
- HTTP_RESPONSE_FORMAT,
- RESPONSE_ERROR, RESPONSE_ERROR, RESPONSE_ERROR,
- RESPONSE_MSG);
- if (result < 0) {
- LOG_PERROR(LOG_ERROR,
- "tls_send_invalid_cert_message(): snprintf failed");
- return;
- } else if ((size_t)result >= sizeof(buffer)) {
- LOG(LOG_ERROR,
- "tls_send_invalid_cert_message(): snprintf buffer too short");
- return;
- }
-
- gnutls_record_send(session, buffer, sizeof(buffer) - 1);
- /* don't send trailing '\0' */
-#undef RESPONSE_ERROR
-#undef RESPONSE_MSG
+ char buffer[sizeof(HTTP_RESPONSE_FORMAT)
+ + 3 * sizeof(error) + sizeof(msg)];
+
+ result = snprintf(buffer, sizeof(buffer), HTTP_RESPONSE_FORMAT,
+ error, "", error, error, msg);
+ assert(result > 0 && (size_t)result < sizeof(buffer));
+
+ gnutls_record_send(session, buffer, strlen(buffer));