On Thu, May 28, 2020 at 09:10:59AM +0200, Javier Martinez Canillas wrote: > On 5/25/20 9:02 PM, Daniel Kiper wrote: > > From: Olaf Hering <o...@aepfle.de> > > > > A http transfer will hang if an error is returned. The error branch > > returns the value GRUB_ERR_NONE which is not expected by the caller. > > > > Signed-off-by: Olaf Hering <o...@aepfle.de> > > Signed-off-by: Daniel Kiper <daniel.ki...@oracle.com> > > --- > > grub-core/net/http.c | 4 ++-- > > 1 file changed, 2 insertions(+), 2 deletions(-) > > > > diff --git a/grub-core/net/http.c b/grub-core/net/http.c > > index b616cf40b..0d3da7501 100644 > > --- a/grub-core/net/http.c > > +++ b/grub-core/net/http.c > > @@ -118,14 +118,14 @@ parse_line (grub_file_t file, http_data_t data, char > > *ptr, grub_size_t len) > > case 404: > > data->err = GRUB_ERR_FILE_NOT_FOUND; > > data->errmsg = grub_xasprintf (_("file `%s' not found"), > > data->filename); > > - return GRUB_ERR_NONE; > > + return GRUB_ERR_FILE_NOT_FOUND; > > default: > > data->err = GRUB_ERR_NET_UNKNOWN_ERROR; > > /* TRANSLATORS: GRUB HTTP code is pretty young. So even perfectly > > valid answers like 403 will trigger this very generic message. */ > > data->errmsg = grub_xasprintf (_("unsupported HTTP error %d: %s"), > > code, ptr); > > - return GRUB_ERR_NONE; > > + return GRUB_ERR_FILE_READ_ERROR; > > } > > data->first_line_recv = 1; > > return GRUB_ERR_NONE; > > > > There is one case that is still returning GRUB_ERR_NONE even when is taken as > an error and that is when the HTTP version != 1.1. Maybe fixing that as well?
OK, I will take a look at it. Daniel _______________________________________________ Grub-devel mailing list Grub-devel@gnu.org https://lists.gnu.org/mailman/listinfo/grub-devel