ddf: fix 'ddf' pointer corruption

hostname[17] = 0 overwrites the last byte of the ddf pointer

Signed-off-by: Dan Williams <dan.j.williams@intel.com>
This commit is contained in:
Dan Williams 2008-06-13 17:27:30 -07:00
parent 56aca704a5
commit 1ba6bff902
1 changed files with 2 additions and 2 deletions

View File

@ -1561,8 +1561,8 @@ static int init_super_ddf(struct supertype *st,
* Remaining 16 are serial number.... maybe a hostname would do?
*/
memcpy(ddf->controller.guid, T10, sizeof(T10));
gethostname(hostname, 17);
hostname[17] = 0;
gethostname(hostname, sizeof(hostname));
hostname[sizeof(hostname) - 1] = 0;
hostlen = strlen(hostname);
memcpy(ddf->controller.guid + 24 - hostlen, hostname, hostlen);
for (i = strlen(T10) ; i+hostlen < 24; i++)