FreeRDP
Loading...
Searching...
No Matches
crt/memory.c
1
20#include <winpr/config.h>
21
22#include <winpr/crt.h>
23
24/* Memory Allocation: http://msdn.microsoft.com/en-us/library/hk1k7x6x.aspx */
25/* Memory Management Functions: http://msdn.microsoft.com/en-us/library/windows/desktop/aa366781/ */
26
27#ifndef _WIN32
28
29PVOID SecureZeroMemory(PVOID ptr, size_t cnt)
30{
31 volatile BYTE* p = ptr;
32
33 while (cnt--)
34 {
35 *p = 0;
36 p++;
37 }
38
39 return ptr;
40}
41
42#endif
43
44void winpr_zfree(char* str)
45{
46 if (str)
47 {
48 char* cur = str;
49 while (*cur != '\0')
50 *cur++ = '\0';
51 }
52 free(str);
53}
54
55void winpr_znfree(void* data, size_t len)
56{
57 WINPR_ASSERT(data || (len == 0));
58 if (data)
59 memset(data, 0, len);
60 free(data);
61}