Don't depend on behavior of malloc(0)
authorJohn Carr <jfc@mit.edu>
Fri, 21 Aug 1992 03:02:54 +0000 (03:02 +0000)
committerJohn Carr <jfc@mit.edu>
Fri, 21 Aug 1992 03:02:54 +0000 (03:02 +0000)
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@2352 dc483132-0cff-0310-8789-dd5450dbe970

src/lib/krb5/asn.1/qbuf2data.c

index f9e6de3107602674a6930e5e5574b6fa2c679bb5..44afbd7363b74890a68cab6ee57801e91254f292 100644 (file)
@@ -56,7 +56,13 @@ register int *error;
     if (!retval) {
        goto nomem;
     }
-    retval->length = val->qb_forw->qb_len;
+    /* If there is no data, don't call malloc.  This saves space on systems
+       which allocate data in response to malloc(0), and saves error checking
+       on systems which return NULL.  */
+    if ((retval->length = val->qb_forw->qb_len) == 0) {
+       retval->data = 0;
+       return retval;
+    }
     retval->data = (char *)xmalloc(val->qb_forw->qb_len);
     if (!retval->data) {
        xfree(retval);