Seite 1 von 1

ExamineFTPDirectory führt zum Absturz wenn das Verzeichnis leer ist

Verfasst: 23.04.2025 19:30
von RalfP
Hallo,

bei mir stürzt der Befehl ExamineFTPDirectory() immer ab, wenn das Verzeichnis auf dem Server keine Dateien enthält. Das ist nicht nur bei dem Testserver "ftp.free.fr" so, sondern auch bei anderen von mir getesteten Severn (Hetzner, Ionos, ...). Um herauszufinden, ob ein Verzeichnis leer ist führt aber, wenn ich das richtig sehe, kein Weg an dem Befehl vorbei, oder?

Fehlermeldung: Ungültiger Speicherzugriff. (Lesefehler an der Adresse 0)

Ich denke nicht, dass es etwas mit dem von HW-SW-Tüftler geschilderten Bug mit ExamineFTPDirectory() zu tun hat, deshalb dieser neue Thread.

Hier mein Test-Programm:

Code: Alles auswählen

If OpenFTP(0, "ftp.free.fr", "anonymous", "")
  If ExamineFTPDirectory(0)
    While NextFTPDirectoryEntry(0)
      Debug FTPDirectoryEntryName(0)
    Wend
    FinishFTPDirectory(0)
  EndIf
  ; funktioniert:    pub, stats, mirrors, MPlayer
  ; schmiert ab:     tmp, nzb, awstats
  ; fehlende Rechte: lost+found
  SetFTPDirectory(0, "tmp")   ; <- hier einsetzen
  Debug ""
  Debug "Bin im Ordner: " + GetFTPDirectory(0)
  Debug ""
  If ExamineFTPDirectory(0)   ; und hier fliegt er raus
    While NextFTPDirectoryEntry(0)
      Debug FTPDirectoryEntryName(0)
    Wend
  FinishFTPDirectory(0)
  EndIf
  CloseFTP(0)   
Else
  Debug "Keine Verbindung zu ftp.free.fr"
EndIf
Meine Konfiguration:
; PB-Version: PureBasic 6.20 (Windows - x64)
; PB-Version: PureBasic 6.21 Beta 6 (Windows - x64)
; OS: Windows 8.1 64 Bit
; Compilereinstellungen:
; [ ] Unicode-Executable erstellen
; [ ] Thread-sicheres Executable erstellen
; [ ] OnError-Unterstützung einschalten
; [x] Moderne Themen-Unterstützung aktivieren (für Windows XP und höher)
; [ ] Administrator-Modus für Windows Vista und höher anfordern
; [ ] User-Modus für Windows Vista und höher anfordern (keine Virtualisierung)
; Library Subsystem: -

Kann das jemand reproduzieren?


Grüße an alle
Ralf

Re: ExamineFTPDirectory führt zum Absturz wenn das Verzeichnis leer ist

Verfasst: 23.04.2025 19:54
von Kiffi
Ja, kann ich reproduzieren. PB6.21 Beta 6 - C Backend (arm64)

Habe aber auch leider keinen Lösungsvorschlag.

Re: ExamineFTPDirectory führt zum Absturz wenn das Verzeichnis leer ist

Verfasst: 23.04.2025 20:27
von mk-soft
Funktioniert bei mir

Windows 10 Pro 22H2
macOS 15.4.1

Doch nicht ... tmp war nicht leer

Re: ExamineFTPDirectory führt zum Absturz wenn das Verzeichnis leer ist

Verfasst: 23.04.2025 21:16
von Andre
Ich hab's mal im englischen PB-Forum als neuen Bug-Report gemeldet: https://www.purebasic.fr/english/viewtopic.php?t=86801
Ergänzt gerne dort direkt weitere Hinweise etc.

Re: ExamineFTPDirectory führt zum Absturz wenn das Verzeichnis leer ist

Verfasst: 24.04.2025 12:34
von Kiffi
Andre hat geschrieben: 23.04.2025 21:16Ich hab's mal im englischen PB-Forum als neuen Bug-Report gemeldet
Danke!

Re: ExamineFTPDirectory führt zum Absturz wenn das Verzeichnis leer ist

Verfasst: 24.04.2025 17:32
von RalfP
Ich danke euch allen für die schnelle Responds.

Ich habe gerade die FTP-Befehle noch weiter ausgetestet:
Bei FTP (unverschlüsselt) ist mir außer dem Absturz nichts weiter aufgefallen, aber bei SFTP sind noch einige Unstimmigkeiten und ein kleiner Bug enthalten. Ich glaube, dafür sollte ich wohl einen neuen Thread aufmachen.

Grüße
Ralf

Re: ExamineFTPDirectory führt zum Absturz wenn das Verzeichnis leer ist

Verfasst: 30.04.2025 19:31
von Kiffi
Der Fehler ist in der Beta 7 behoben: https://www.purebasic.fr/english/viewto ... 07#p640007

Re: ExamineFTPDirectory führt zum Absturz wenn das Verzeichnis leer ist

Verfasst: 30.04.2025 23:03
von RalfP
Vielen Dank!