*** dhcp.c Sat Feb 14 18:46:53 2009 --- dhcp.c.modified Sat Feb 14 18:47:06 2009 *************** *** 2279,2297 **** &lease -> scope, oc, MDL)) { if (d1.len <= sizeof lt -> uid_buf) { memcpy (lt -> uid_buf, d1.data, d1.len); ! lt -> uid = lt -> uid_buf; ! lt -> uid_max = sizeof lt -> uid_buf; ! lt -> uid_len = d1.len; } else { unsigned char *tuid; ! lt -> uid_max = d1.len; ! lt -> uid_len = d1.len; tuid = (unsigned char *)dmalloc (lt -> uid_max, MDL); /* XXX inelegant */ if (!tuid) log_fatal ("no memory for large uid."); memcpy (tuid, d1.data, lt -> uid_len); ! lt -> uid = tuid; } data_string_forget (&d1, MDL); } --- 2279,2297 ---- &lease -> scope, oc, MDL)) { if (d1.len <= sizeof lt -> uid_buf) { memcpy (lt -> uid_buf, d1.data, d1.len); ! //EOFlt -> uid = lt -> uid_buf; ! //EOFlt -> uid_max = sizeof lt -> uid_buf; ! //EOFlt -> uid_len = d1.len; } else { unsigned char *tuid; ! //EOFlt -> uid_max = d1.len; ! //EOFlt -> uid_len = d1.len; tuid = (unsigned char *)dmalloc (lt -> uid_max, MDL); /* XXX inelegant */ if (!tuid) log_fatal ("no memory for large uid."); memcpy (tuid, d1.data, lt -> uid_len); ! //EOFlt -> uid = tuid; } data_string_forget (&d1, MDL); }