[PATCH] Fixes divelogs.de upload error #483

Lubomir I. Ivanov neolit123 at gmail.com
Sat Apr 5 02:20:25 PDT 2014


On 5 April 2014 11:45, Venkatesh Shukla
<venkatesh.shukla.eee11 at iitbhu.ac.in> wrote:
> Arguments 2 and 3 in fread() seemed to be exchanged because of which
> only one character was read into the temp xml file.
> Fixed it by exchange and replacing 1 by sizeof(char) to be sure.
>
> Signed-off-by: Venkatesh Shukla <venkatesh.shukla.eee11 at iitbhu.ac.in>
> ---
>  qt-ui/subsurfacewebservices.cpp | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/qt-ui/subsurfacewebservices.cpp
> b/qt-ui/subsurfacewebservices.cpp
> index b231173..e49cec9 100644
> --- a/qt-ui/subsurfacewebservices.cpp
> +++ b/qt-ui/subsurfacewebservices.cpp
> @@ -159,7 +159,7 @@ bool
> DivelogsDeWebServices::prepare_dives_for_divelogs(const QString &tempfile,
>   rewind(f);
>
>   membuf = (char *)malloc(streamsize + 1);
> - if (!membuf || (streamsize = fread(membuf, streamsize, 1, f)) == 0) {
> + if (!membuf || (streamsize = fread(membuf, sizeof(char), streamsize, f))
> == 0) {
>   report_error(tr("internal error: %s").toUtf8(),
> qt_error_string().toUtf8().data());
>   fclose(f);
>   free((void *)membuf);


the argument swap is my fault which originates back to the GTK version.
was not caught because we didn't use streamsize and only checked if
fread() succeeds.

ACK

lubomir
--


More information about the subsurface mailing list