miyako/4d-plugin-curl-v3

cURL_FTP_Send crash - release 4.6.3

Closed this issue · 8 comments

Hi,

The following code crashes on Mac OS Monterey, with 4D v19 or 4D v20 with release 4.6.3.

This same code is working fine with previous releases 4.6.2, 4.4.12 ...

$options:=New object
$options.URL:="ftp://ftp.example.com/E13FCD24E567475E8A472582D6FDF4A1.tmp"
$options.USERNAME:="login"
$options.PASSWORD:="password"
$options.READDATA:="Macintosh HD:Users:ble:Documents:sample.txt"

var $data : Blob
SET BLOB SIZE($data; 0)

var $error : Object
$error:=cURL_FTP_Send($options; $data)
ALERT(Choose($error.status=0; "OK"; "KO")+"\r\r"+JSON Stringify($error; *))

about 4.6.3

this is when the libraries were updated

  • OpenSSL 3.1.4→3.2.1 (macOS), 3.2.0 (Windows)
  • cURL 7.75.0→8.6.0

could not reproduce crash on Sonoma, Silicon and Rosetta.

Problem fixed !

Great job Miyako Thanks !

Great

since we can't stay in the past forever, I've published a version with the latest libcurl.
https://github.com/miyako/4d-plugin-curl-v3/releases/tag/4.8.0
hope this one doesn't crash.

Hi,

Just did a test with test code #25 (comment)

  1. with v4.6.3 => crash (as expected)
  2. with v4.8.0 => no crash

So seems the bug which affected the 4.6.3 release is fixed in v4.8.0 release.

Thanks !

Plugin version : 4.8.0 OK
{
"version": "8.9.1",
"version_num": 526593,
"host": "x86_64-apple-darwin23.4.0",
"features": 1441744797,
"ssl_version": "OpenSSL/3.3.1 (SecureTransport)",
"libz_version": "1.2.11",
"protocols": [
"dict",
"file",
"ftp",
"ftps",
"gopher",
"gophers",
"http",
"https",
"imap",
"imaps",
"ldap",
"ldaps",
"mqtt",
"pop3",
"pop3s",
"rtmp",
"rtmpe",
"rtmps",
"rtmpt",
"rtmpte",
"rtmpts",
"rtsp",
"scp",
"sftp",
"smb",
"smbs",
"smtp",
"smtps",
"telnet",
"tftp"
],
"libidn": "2.3.7",
"libssh_version": "libssh2/1.11.0",
"brotli_version": "1.0.9",
"nghttp2_version": "1.61.0",
"zstd_version": "1.5.6",
"pluginVersion": "4.8.0"
}

Plugin version : 4.7.1 OK
{
"version": "8.7.1",
"version_num": 526081,
"host": "x86_64-apple-darwin21.6.0",
"features": 1441743773,
"ssl_version": "(SecureTransport) OpenSSL/3.3.0",
"libz_version": "1.2.11",
"protocols": [
"dict",
"file",
"ftp",
"ftps",
"gopher",
"gophers",
"http",
"https",
"imap",
"imaps",
"ldap",
"ldaps",
"mqtt",
"pop3",
"pop3s",
"rtmp",
"rtmpe",
"rtmps",
"rtmpt",
"rtmpte",
"rtmpts",
"rtsp",
"scp",
"sftp",
"smb",
"smbs",
"smtp",
"smtps",
"telnet",
"tftp"
],
"libssh_version": "libssh2/1.11.0",
"brotli_version": "1.0.9",
"nghttp2_version": "1.58.0",
"zstd_version": "1.5.2",
"pluginVersion": "4.7.1"
}

Plugin version : 4.6.3 KO
{
"version": "8.6.0",
"version_num": 525824,
"host": "x86_64-apple-darwin21.6.0",
"features": 1441743773,
"ssl_version": "(SecureTransport) OpenSSL/3.2.1",
"libz_version": "1.2.11",
"protocols": [
"dict",
"file",
"ftp",
"ftps",
"gopher",
"gophers",
"http",
"https",
"imap",
"imaps",
"ldap",
"ldaps",
"mqtt",
"pop3",
"pop3s",
"rtmp",
"rtmpe",
"rtmps",
"rtmpt",
"rtmpte",
"rtmpts",
"rtsp",
"scp",
"sftp",
"smb",
"smbs",
"smtp",
"smtps",
"telnet",
"tftp"
],
"libssh_version": "libssh2/1.11.0",
"brotli_version": "1.0.9",
"nghttp2_version": "1.58.0",
"zstd_version": "1.5.2",
"pluginVersion": "4.6.3"
}

thank you for the feedback. I've updated windows as well.