[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH 1/3] tools/golang: When returning pointers, actually allocate structrues



Thank you for the fast response, George. I can confirm that I can call all three functions without errors now and this patch fixes the errors I encountered.


Am 19. April 2024 12:50:35 MESZ schrieb George Dunlap <george.dunlap@xxxxxxxxx>:
In a handful of cases, it was decided to return a pointer to a
structure rather than the plain structure itself, due to the size.
However, in these cases the structure was never allocated, leading to
a nil pointer exception when calling the relevant `fromC` method.

Allocate structures before attempting to fill them in.

Reported-by: Tobias Fitschen <tobias.fitschen@xxxxxxxxx>
Signed-off-by: George Dunlap <george.dunlap@xxxxxxxxx>
This has been compile-tested only; Tobias, I'd appreciate a test if you get a chance.

CC: Nick Rosbrook <rosbrookn@xxxxxxxxx>
CC: Anthony PERARD <anthony.perard@xxxxxxxxxx>
tools/golang/xenlight/xenlight.go | 3 +++
1 file changed, 3 insertions(+)

diff --git a/tools/golang/xenlight/xenlight.go b/tools/golang/xenlight/xenlight.go
index a45c636952..d793f172e5 100644
--- a/tools/golang/xenlight/xenlight.go
+++ b/tools/golang/xenlight/xenlight.go
@@ -999,6 +999,7 @@ func (ctx *Context) GetPhysinfo() (physinfo *Physinfo, err error) {
err = Error(ret)
return
}
+ physinfo = &Physinfo{}
err = physinfo.fromC(&cphys)

return
@@ -1010,6 +1011,7 @@ func (ctx *Context) GetVersionInfo() (info *VersionInfo, err error) {

cinfo = C.libxl_get_version_info(ctx.ctx)

+ info = &VersionInfo{}
err = info.fromC(cinfo)

return
@@ -1027,6 +1029,7 @@ func (ctx *Context) DomainInfo(Id Domid) (di *Dominfo, err error) {
return
}

+ di = &Dominfo{}
err = di.fromC(&cdi)

return

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.