Skip to content

Conversation

@DanielR92
Copy link
Collaborator

@DanielR92 DanielR92 commented Oct 20, 2024

Die Funktion handleNTPPacket könnte problematisch sein, insbesondere hinsichtlich des Speicherverbrauchs und der Effizienz. Hier sind die kritischen Punkte:

  1. Speicherverbrauch durch Puffer:

    • Der Puffer char buf[80]; wird verwendet, um die Daten des empfangenen UDP-Pakets zu speichern. Dies kann auf Mikrocontrollern mit begrenztem RAM problematisch sein.
  2. Unsichere Speicheroperationen:

    • Die Verwendung von memcpy ohne Überprüfung der Paketgröße könnte zu Speicherüberläufen führen, wenn das empfangene Paket kleiner als 80 Bytes ist.
  3. Direkte Manipulation von Rohdaten:

    • Die direkte Manipulation von Rohdaten (z.B. buf[40], buf[41]) kann fehleranfällig sein und ist schwer zu debuggen.

Verbesserungsvorschläge

  1. Überprüfung der Paketgröße:

    • Stellen Sie sicher, dass das empfangene Paket groß genug ist, bevor Sie Daten kopieren.
  2. Verwendung eines kleineren Puffers:

    • Verwenden Sie einen kleineren Puffer, wenn möglich, oder dynamische Speicherzuweisung mit entsprechender Fehlerbehandlung.
  3. Sichere Speicheroperationen:

    • Verwenden Sie sicherere Speicheroperationen und überprüfen Sie die Grenzen.

Durch diese Änderungen wird der Speicherverbrauch reduziert und die Sicherheit der Speicheroperationen verbessert.

@DanielR92 DanielR92 added the enhancement New feature or request label Oct 20, 2024
@Flole998
Copy link

Und warum reduziert man den Speicherverbrauch nicht noch weiter, indem die (unnütze) Kopie ganz sein gelassen wird?

Die Kommentare sind überall sonst im Code auf Englisch, hier sind sie nun plötzlich auf Deutsch?

@You69Man
Copy link
Contributor

You69Man commented Oct 21, 2024

Ich will niemandem was unterstellen, aber für mich sieht das stark nach GPT progamming aus. ;)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants