On Fri, 10 Apr 2009 05:08:54 +0000 Andrew Patterson <andrew.patterson@xxxxxx> wrote: > > > + char model[MODEL_LEN + 1]; > > > ... > > > + return snprintf(buf, MODEL_LEN + 2, "%s\n", drv->model); > > > > Isn't the buffer sizing wrong here? Should be MODEL_LEN+1. > > > > Don't we need space for the '\0' and the '\n'? The second arg to snprintf() tells snprintf() how large the buffer is. That buffer should be sized to allow room for the trailing \0. So if MODEL_LEN represents the maximum number of characters in a string then you want: char model[MODEL_LEN + 2]; /* Room for the \n and the \0 */ ... return snprintf(buf, sizeof(model), "%s\n", drv->model); -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html