Fix prefix class logic
[project/odhcpd.git] / src / dhcpv6-ia.c
index 3d9fe83..b0a31a2 100644 (file)
@@ -900,8 +900,10 @@ size_t dhcpv6_handle_ia(uint8_t *buf, size_t buflen, struct interface *iface,
                                a->assigned = reqhint;
                                a->all_class = class_oro;
                                a->classes_cnt = classes_cnt;
                                a->assigned = reqhint;
                                a->all_class = class_oro;
                                a->classes_cnt = classes_cnt;
-                               a->classes = malloc(classes_cnt * sizeof(uint16_t));
-                               memcpy(a->classes, classes, classes_cnt * sizeof(uint16_t));
+                               if (classes_cnt) {
+                                       a->classes = malloc(classes_cnt * sizeof(uint16_t));
+                                       memcpy(a->classes, classes, classes_cnt * sizeof(uint16_t));
+                               }
 
                                if (first)
                                        memcpy(a->key, first->key, sizeof(a->key));
 
                                if (first)
                                        memcpy(a->key, first->key, sizeof(a->key));