On 23/08/2024 6:05 pm, Javi Merino wrote: > diff --git a/tools/libs/light/libxl_console.c > b/tools/libs/light/libxl_console.c > index f42f6a51ee6f..652897e4ef6d 100644 > --- a/tools/libs/light/libxl_console.c > +++ b/tools/libs/light/libxl_console.c > @@ -789,17 +789,19 @@ libxl_xen_console_reader * > return cr; > } > > -/* return values: *line_r > - * 1 success, whole line obtained from buffer non-0 > - * 0 no more lines available right now 0 > - * negative error code ERROR_* 0 > - * On success *line_r is updated to point to a nul-terminated > +/* Copy part of the console ring into a buffer > + * > + * Return values: > + * 1: Success, the buffer obtained from the console ring an > + * 0: No more lines available right now > + * -ERROR_* on error > + * > + * On success, *line_r is updated to point to a nul-terminated
*buff. Also this really wants to say somewhere "despite the function name, there can be multiple lines in the returned buffer" or something to this effect. > * string which is valid until the next call on the same console > - * reader. The libxl caller may overwrite parts of the string > - * if it wishes. */ > + * reader. */ While I don't want to derail this patch further, what happens if there happens to be an embedded \0 in Xen's console? The hypercall is works by a count of chars, and AFACIT, in this function we're assuming that there's no \0 earlier in the string. ~Andrew