Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Strings verketten in Pidgin-Plugin mit Programmiersprache C
#5
(23.09.2014, 22:14)Freakazoid schrieb: Was du wirklich willst ist aber eigentlich eher die Funktion strdup_printf(). Die allokiert dir automatisch einen Puffer, der genau so groß ist, wie er benötigt wird:

Code:
const char *halli = "halli";
const char *hallo = "hallo";
char *hallihallo = strdup_printf("%s%s", halli, hallo);

...

free(hallihallo);

Du musst nur darauf achten, dass du den Puffer immer (also auch wenn du vorzeitig wegen eines Fehlers abbrichst) mit free() freigibst. Sonst hast du ein Speicherloch und dein RAM läuft irgendwann voll. ^^'

beziehungsweise:

Code:
char *systemCall = strdup_printf("explorer \"%s\"", userResource);
...
free(systemCall);


PS: Je nachdem, ob man userResource in deinem Pidign-Plugin(?) über das Netz beeinflussen kann, baust du dir eine Sicherheitslücke ein. Folgender Wert würde z.B. deine Dokumente löschen (nicht getestet):
Code:
"; del /S /Q %USERPROFILE%

Oh ich schaue mir die Funktion mal an Big Grin Dankeschön!

hmm also die userResource wird über die accounts.xml gesteuert Smile Wäre also durchaus möglich, dass eine böswillige Änderung durchgeführt wird...
Hast du eine Idee wie ich das umgehen kann?

Danke dir!
Zitieren


Nachrichten in diesem Thema
RE: Strings verketten in Pidgin-Plugin mit Programmiersprache C - von jamesv1994 - 07.10.2014, 15:33

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste