Commit 36207a91 authored by Russ Cox's avatar Russ Cox

runtime: fix defer of nil func

Fixes #8047.

LGTM=r, iant
R=golang-codereviews, r, iant
CC=dvyukov, golang-codereviews, khr
https://golang.org/cl/105140044
parent 83c81406
......@@ -856,7 +856,12 @@ runtime·newstack(void)
void
runtime·gostartcallfn(Gobuf *gobuf, FuncVal *fv)
{
runtime·gostartcall(gobuf, fv->fn, fv);
void *fn;
fn = nil;
if(fv != nil)
fn = fv->fn;
runtime·gostartcall(gobuf, fn, fv);
}
// Maybe shrink the stack being used by gp.
......
// run
// Copyright 2014 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
// Issue 8047. Defer setup during panic shouldn't crash for nil defer.
package main
func main() {
defer func() {
recover()
}()
f()
}
func f() {
var g func()
defer g()
panic(1)
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment