cURL / Mailing Lists / curl-library / Single Mail

curl-library

Re: FTP Upload problem : crash

From: Jeffrey Phillips <jeff_at_seasideresearch.com>
Date: Sat, 20 Nov 2004 11:17:16 -0800 (PST)

Is szRemoteFile a full-URL? Let's assume you're
sending a local file dummy.bin from the current
directory, so that szLocalFile is "dummy.bin". In this
case, szRemoteFile should be
"ftp://ftp.myhost.com/dummy.bin" or, if you want to
put it in a virtual subdirectory of the FTP site,
"ftp://ftp.myhost.com/virtdir/dummy.bin".

Hope this helps,
Jeff Phillips

--- Jan de Lint <jg.de.lint_at_hccnet.nl> wrote:

> Similar (same?) problem here with 7.12.2 dll and an
> old version of Visual C++.
> WinXP as well.
> No clue yet. Haven't tried much due to lack of
> capability.
> Jan
> ----- Original Message -----
> From: joseph.tilley_at_atxinc.com
> To: curl-library_at_cool.haxx.se
> Sent: Saturday, November 20, 2004 6:29 PM
> Subject: FTP Upload problem : crash
>
>
>
> Hello,
>
> I have a program I am developing with curl but am
> having troubles uploading a file.
>
> These are the steps I am currently taking in my
> program. I would appreciate if anyone could point
> out any thing I am doing wrong.
>
> OS: WinXP
> Curl Version: 7.11.1
> IDE: Visual C++ .NET
>
>
> char m_szErrMsgLast[1024];
> FILE *pInput = fopen(szLocalFile, "r");
> // Open the local file (C:\tmp.txt would
> suffice here)
> if (NULL == pInput)
> throw "Unable to open local file";
>
> long fsize = filelength(fileno (pInput));
>
> curl_global_init(CURL_GLOBAL_ALL);
>
> void * m_pCurl = curl_easy_init();
>
> // set the errror buffer
> curl_easy_setopt(m_pCurl,
> CURLOPT_ERRORBUFFER, m_szErrMsgLast);
>
> //Set the passive mode
> curl_easy_setopt(m_pCurl,
> CURLOPT_FTP_USE_EPSV, TRUE);
>
> // enable uploading
> curl_easy_setopt(m_pCurl, CURLOPT_UPLOAD,
> TRUE) ;
>
> // Set the URL to transmit to (the value
> of this is remotefile.txt)
> curl_easy_setopt(m_pCurl, CURLOPT_URL,
> szRemoteFile);
>
> // Set a pointer to the file to be sent,
> and set the size
> curl_easy_setopt(m_pCurl, CURLOPT_INFILE,
> pInput);
> curl_easy_setopt(m_pCurl,
> CURLOPT_INFILESIZE, fsize);
>
> // Want to watch what happens!
> curl_easy_setopt(m_pCurl, CURLOPT_VERBOSE,
> TRUE);
>
> // Fire away!
> res = curl_easy_perform(m_pCurl);
>
>
>
> What results is a crash in curl. The
> curl_easy_preform call at the end throws an
> exception:
> (I replaced any identifying information with
> garbage numbers, but the messages are untouched.
>
>
> * About to connect() to 111.22.33.44 port 21
> * Connected to 111.22.33.44 (111.22.33.44) port 21
>
> < 220 server.servername.com FTP server (Version
> wu-2.6.2(9) Mon Jul 21 16:06:46 EDT 2003) ready.
> > USER ATXOTST
> < 331 Password required for MY_USERNAME
> > PASS MY_PWD
> < 230 User MY_USERNAME logged in.
> * We have successfully logged in
> > PWD
> < 257 "/abc/def/ghi/jkl" is current directory.
> * Entry path is '/abc/def/ghi/jkl'
> > CWD in
> < 250 CWD command successful.
> > PASV
> < 227 Entering Passive Mode (111,22,33,44,67,245)
> * About to connect() to 111.22.33.44 port 17397
> * Connecting to 111.22.33.44 (111.22.33.44) port
> 17397
> * Connected the data stream with PASV!
> > TYPE I
> < 200 Type set to I.
> > STOR ATX_620000582
> < 150 Opening BINARY mode data connection for
> remotefile.txt.
>
> This pauses for a while, I assume the file
> transfer attempts to take place.
>
> Then the excetion is thrown:
>
> + ex {
> _COMPlusExceptionCode=-532459699
> _className="System.NullReferenceException"
> _exceptionMethod=<undefined value> ...}
> System.Exception
> + "System.NullReferenceException: Object
> reference not set to an instance of an object.
>
>
>
> Any advice at all as to what I may be doing wrone
> here would be GREATLY appreciated!
>
>
>
>
> Cheers,
> joe
>
> Joe Tilley
> E-File Senior Engineer
> ATX II, LLC
> Phone: (207) 498-4289 ext. 40728
> Fax: (207) 498-6838
> E-Mail: joseph.tilley_at_atxinc.com
>
>
Received on 2004-11-20