Shawn O. Pearce schrieb:
+static void report_message(const char *prefix, const char *err, va_list params)
+{
+ int sz = strlen(prefix);
+ char msg[4096];
+
+ strncpy(msg, prefix, sz);
+ sz += vsnprintf(msg + sz, sizeof(msg) - sz, err, params);
+ if (sz > (sizeof(msg) - 1))
+ sz = sizeof(msg) - 1;
+ msg[sz++] = '\n';
Sorry, still no joy - the terminating NUL is missing (I should have
noticed this in your v1 already). I suggest to forgo the length check for
simplicity because this function is only called with data that is already
guaranteed to be less than 1000 bytes, i.e.:
strncpy(msg, prefix, sz);
/* data is guaranteed to fit due to packet length limit in
read_head_info() */
sz += vsprintf(msg + sz, err, params);
msg[sz++] = '\n';
msg[sz++] = '\0';
-- Hannes
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html