[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