mirror of
https://github.com/containers/skopeo.git
synced 2025-09-26 20:53:16 +00:00
Fix a runtime segfault when being compiled with recent versions of Go. Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=2079759 Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
21 lines
531 B
Go
21 lines
531 B
Go
//+build !go1.18
|
|
|
|
package reflect2
|
|
|
|
import (
|
|
"unsafe"
|
|
)
|
|
|
|
// m escapes into the return value, but the caller of mapiterinit
|
|
// doesn't let the return value escape.
|
|
//go:noescape
|
|
//go:linkname mapiterinit reflect.mapiterinit
|
|
func mapiterinit(rtype unsafe.Pointer, m unsafe.Pointer) (val *hiter)
|
|
|
|
func (type2 *UnsafeMapType) UnsafeIterate(obj unsafe.Pointer) MapIterator {
|
|
return &UnsafeMapIterator{
|
|
hiter: mapiterinit(type2.rtype, *(*unsafe.Pointer)(obj)),
|
|
pKeyRType: type2.pKeyRType,
|
|
pElemRType: type2.pElemRType,
|
|
}
|
|
} |