Print this page
11927 Log, or optionally panic, on zero-length kmem allocations
Reviewed by: Dan McDonald <danmcd@joyent.com>
Reviewed by: Jason King <jason.brian.king@gmail.com>

@@ -22,11 +22,13 @@
 /*
  * Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
  * Use is subject to license terms.
  */
 
-#pragma ident   "%Z%%M% %I%     %E% SMI"
+/*
+ * Copyright (c) 2015 Joyent, Inc.  All rights reserved.
+ */
 
 #include <sys/promif.h>
 #include <sys/promimpl.h>
 #include <sys/prom_emul.h>
 #include <sys/obpdefs.h>

@@ -44,11 +46,11 @@
         struct prom_prop *p, *q;
 
         q = kmem_zalloc(sizeof (*q), KM_SLEEP);
         q->pp_name = kmem_zalloc(strlen(name) + 1, KM_SLEEP);
         (void) strcpy(q->pp_name, name);
-        q->pp_val = kmem_alloc(len, KM_SLEEP);
+        q->pp_val = len > 0 ? kmem_alloc(len, KM_SLEEP) : NULL;
         q->pp_len = len;
         switch (flags) {
         case DDI_PROP_TYPE_INT:
         case DDI_PROP_TYPE_INT64:
                 /*