runtime: fix bugs in previous commit

These were fixed in my local commit,
but I forgot that the web Submit button can't see that.

Change-Id: Iec3a70ce3ccd9db2a5394ae2da0b293e45ac2fb5
Reviewed-on: https://go-review.googlesource.com/2822
Reviewed-by: Russ Cox <rsc@golang.org>
diff --git a/src/runtime/malloc.go b/src/runtime/malloc.go
index eb895a9..90cf736 100644
--- a/src/runtime/malloc.go
+++ b/src/runtime/malloc.go
@@ -128,7 +128,7 @@
 			} else if size&1 == 0 {
 				off = round(off, 2)
 			}
-			if off+size <= maxTinySize {
+			if off+size <= maxTinySize && c.tiny != nil {
 				// The object fits into existing tiny block.
 				x = add(c.tiny, off)
 				c.tinyoffset = off + size
@@ -1042,7 +1042,7 @@
 
 	lock(&persistent.lock)
 	persistent.off = round(persistent.off, align)
-	if persistent.off+size > chunk {
+	if persistent.off+size > chunk || persistent.base == nil {
 		persistent.base = sysAlloc(chunk, &memstats.other_sys)
 		if persistent.base == nil {
 			unlock(&persistent.lock)