What's causing this exception? Using VC++ 2010 with libcurl

-1

I'm using libcurl in VC++ 2010 and getting this error:

An unhandled exception of type 'System.AccessViolationException' occurred in Fourth.exe

Additional information: Attempted to read or write protected memory. This is often an indication that other memory is corrupt.

std::string DownloadFile(std::string Fname, std::string Furl)
{
        CURL *curl;
        CURLcode res;
        const char *url = Furl.c_str();
        curl = curl_easy_init();
        if (curl) {
            FILE * pFile;
            pFile = fopen(Fname.c_str(),"wb");
            if (pFile!=NULL) {
                curl_easy_setopt(curl, CURLOPT_URL, url);
                curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, NULL);
                curl_easy_setopt(curl, CURLOPT_WRITEDATA, pFile);
                curl_easy_setopt(curl, CURLOPT_NOPROGRESS, FALSE);
                curl_easy_setopt(curl, CURLOPT_PROGRESSFUNCTION, progress_func);
                curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L);
                char errbuf[CURL_ERROR_SIZE];
                curl_easy_setopt(curl, CURLOPT_ERRORBUFFER, errbuf);
                res = curl_easy_perform(curl);
                std::string xres = curl_easy_strerror(res); //// HERE ////
                curl_easy_cleanup(curl);
                fclose(pFile);
                return xres;
            }
        }
}

Any ideas where i am going wrong?

The thread 'Win32 Thread' (0x86c) has exited with code 0 (0x0).

First-chance exception at 0x77a6d968 (ntdll.dll) in Fourth.exe: 0xC0000005: Access violation writing location 0x00000014.

A first chance exception of type 'System.AccessViolationException' occurred in Fourth.exe

'Fourth.exe': Loaded 'C:\Windows\SysWOW64\version.dll', Exports loaded.

An unhandled exception of type 'System.AccessViolationException' occurred in Fourth.exe

Additional information: Attempted to read or write protected memory. This is often an indication that other memory is corrupt.

The thread 'Win32 Thread' (0x148c) has exited with code 0 (0x0).

The thread 'Win32 Thread' (0x170c) has exited with code 0 (0x0).

The thread 'Main Thread' (0x83c) has exited with code 0 (0x0).

The thread 'Win32 Thread' (0x1174) has exited with code 0 (0x0).

The thread 'Win32 Thread' (0xc74) has exited with code 0 (0x0).

The program '[1232] Fourth.exe: Native' has exited with code 0 (0x0).

The program '[1232] Fourth.exe: Managed (v4.0.30319)' has exited with code 0 (0x0).

Might it have something to do with the \SysWOW64\ DLL's and the Win32 thread conflicting?

c++
visual-studio-2010
exception
libcurl
asked on Stack Overflow Sep 15, 2015 by Willdorf

1 Answer

-1

I changed the /MDd switch to /MD and it cleared up that problem, but not without adding some others!

answered on Stack Overflow Sep 16, 2015 by Willdorf

User contributions licensed under CC BY-SA 3.0