[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH 1/2] tools/libs/evtchn: decouple more from mini-os
On 10/01/2022 12:49, Juergen Gross wrote: > On 10.01.22 13:25, Andrew Cooper wrote: >> On 07/01/2022 10:35, Juergen Gross wrote: >>> @@ -75,12 +86,25 @@ static void port_dealloc(struct evtchn_port_info >>> *port_info) >>> */ >>> int osdep_evtchn_open(xenevtchn_handle *xce, unsigned int flags) >>> { >>> - int fd = alloc_fd(FTYPE_EVTCHN); >>> + int fd; >>> + struct file *file; >>> + struct port_list *list; >>> + >>> + list = malloc(sizeof(*list)); >>> + if ( !list ) >>> + return -1; >>> + >>> + fd = alloc_fd(FTYPE_EVTCHN); >>> + file = get_file_from_fd(fd); >>> - if ( fd == -1 ) >>> + if ( !file ) >>> + { >>> + free(list); >>> return -1; >>> + } >> >> This wants rearranging to keep alloc_fd() ahead of malloc(). With that, >> there is no need for free(list) in this error path. > > Yeah, but the error path of malloc() having failed is quite nasty then. Oh yeah. This is ugly, but I guess it is better this way around. ~Andrew
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |