vmware-archive / go-pmem-transaction

Golang library for using persistent memory
Other
29 stars 5 forks source link

Get(), GetSlice() crashes if called before persistent memory initialization #10

Open jerrinsg opened 5 years ago

jerrinsg commented 5 years ago

Get() and GetSlice() APIs crash if it is invoked before persistent memory initialization. E.g., the below program crashes when pmem.Get() is invoked.

package main

import (
    "github.com/vmware/go-pmem-transaction/pmem"
)

func main() {
    var ptr *int
    ptr = (*int)(pmem.Get("dbRoot", ptr))
    println("got ptr as ", ptr)
}

This can be gracefully handled by returning a nil pointer.