]> git.ipfire.org Git - thirdparty/dhcp.git/commitdiff
Don't free comp -> uid if comp == lease
authorTed Lemon <source@isc.org>
Wed, 12 Jun 1996 04:05:23 +0000 (04:05 +0000)
committerTed Lemon <source@isc.org>
Wed, 12 Jun 1996 04:05:23 +0000 (04:05 +0000)
common/memory.c
memory.c

index 13bc9b21e1f2ee52f3b1dd30c998a2b612843fcb..9e9ef6f947effcccaf46c260948093ed3c7a7d8f 100644 (file)
@@ -405,15 +405,17 @@ int supersede_lease (comp, lease, commit)
                /* If there's a Unique ID, dissociate it from the hash
                   table if necessary, and always free it. */
                if (comp -> uid) {
-                       if (comp -> uid_len != lease -> uid_len ||
-                           memcmp (comp -> uid, lease -> uid,
-                                   comp -> uid_len)) {
-                               delete_hash_entry (lease_uid_hash,
-                                                  comp -> uid,
-                                                  comp -> uid_len);
-                               enter_uid = 1;
+                       if (comp -> uid != lease -> uid) {
+                               if (comp -> uid_len != lease -> uid_len ||
+                                   memcmp (comp -> uid, lease -> uid,
+                                           comp -> uid_len)) {
+                                       delete_hash_entry (lease_uid_hash,
+                                                          comp -> uid,
+                                                          comp -> uid_len);
+                                       enter_uid = 1;
+                               }
+                               free (comp -> uid);
                        }
-                       free (comp -> uid);
                } else
                        enter_uid = 1;
 
index 13bc9b21e1f2ee52f3b1dd30c998a2b612843fcb..9e9ef6f947effcccaf46c260948093ed3c7a7d8f 100644 (file)
--- a/memory.c
+++ b/memory.c
@@ -405,15 +405,17 @@ int supersede_lease (comp, lease, commit)
                /* If there's a Unique ID, dissociate it from the hash
                   table if necessary, and always free it. */
                if (comp -> uid) {
-                       if (comp -> uid_len != lease -> uid_len ||
-                           memcmp (comp -> uid, lease -> uid,
-                                   comp -> uid_len)) {
-                               delete_hash_entry (lease_uid_hash,
-                                                  comp -> uid,
-                                                  comp -> uid_len);
-                               enter_uid = 1;
+                       if (comp -> uid != lease -> uid) {
+                               if (comp -> uid_len != lease -> uid_len ||
+                                   memcmp (comp -> uid, lease -> uid,
+                                           comp -> uid_len)) {
+                                       delete_hash_entry (lease_uid_hash,
+                                                          comp -> uid,
+                                                          comp -> uid_len);
+                                       enter_uid = 1;
+                               }
+                               free (comp -> uid);
                        }
-                       free (comp -> uid);
                } else
                        enter_uid = 1;