diff options
Diffstat (limited to 'test/fixedbugs/bug303.go')
-rw-r--r-- | test/fixedbugs/bug303.go | 37 |
1 files changed, 0 insertions, 37 deletions
diff --git a/test/fixedbugs/bug303.go b/test/fixedbugs/bug303.go deleted file mode 100644 index 3bd790f13..000000000 --- a/test/fixedbugs/bug303.go +++ /dev/null @@ -1,37 +0,0 @@ -// $G $D/$F.go && $L $F.$A && ./$A.out - -// Copyright 2010 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 1011. Removing either #1 or #3 avoided the crash at #2. - -package main - -import ( - "io" - "strings" -) - -func readU16BE(b []byte) uint16 { - b[0] = 0 - b[1] = 1 - return uint16(b[0])<<8 + uint16(b[1]) // #1 - n := uint16(b[0])<<8 + uint16(b[1]) - return n -} - -func readStr(r io.Reader, b []byte) string { - n := readU16BE(b) - if int(n) > len(b) { - return "err: n>b" - } - io.ReadFull(r, b[0:n]) // #2 - return string(b[0:n]) // #3 - return "ok" -} - -func main() { - br := strings.NewReader("abcd") - readStr(br, make([]byte, 256)) -} |