OpenTTD Source 20250312-master-gcdcc6b491d
safeguards.h File Reference

A number of safeguards to prevent using unsafe methods. More...

Go to the source code of this file.

Macros

#define malloc   SAFEGUARD_DO_NOT_USE_THIS_METHOD
 
#define calloc   SAFEGUARD_DO_NOT_USE_THIS_METHOD
 
#define realloc   SAFEGUARD_DO_NOT_USE_THIS_METHOD
 
#define strdup   SAFEGUARD_DO_NOT_USE_THIS_METHOD
 
#define strndup   SAFEGUARD_DO_NOT_USE_THIS_METHOD
 
#define strcpy   SAFEGUARD_DO_NOT_USE_THIS_METHOD
 
#define strncpy   SAFEGUARD_DO_NOT_USE_THIS_METHOD
 
#define strcat   SAFEGUARD_DO_NOT_USE_THIS_METHOD
 
#define strncat   SAFEGUARD_DO_NOT_USE_THIS_METHOD
 
#define sprintf   SAFEGUARD_DO_NOT_USE_THIS_METHOD
 
#define snprintf   SAFEGUARD_DO_NOT_USE_THIS_METHOD
 
#define vsprintf   SAFEGUARD_DO_NOT_USE_THIS_METHOD
 
#define vsnprintf   SAFEGUARD_DO_NOT_USE_THIS_METHOD
 
#define gets   SAFEGUARD_DO_NOT_USE_THIS_METHOD
 
#define strtok   SAFEGUARD_DO_NOT_USE_THIS_METHOD
 
#define printf   SAFEGUARD_DO_NOT_USE_THIS_METHOD
 
#define fprintf   SAFEGUARD_DO_NOT_USE_THIS_METHOD
 
#define puts   SAFEGUARD_DO_NOT_USE_THIS_METHOD
 
#define fputs   SAFEGUARD_DO_NOT_USE_THIS_METHOD
 
#define putchar   SAFEGUARD_DO_NOT_USE_THIS_METHOD
 

Detailed Description

A number of safeguards to prevent using unsafe methods.

Unsafe methods are, for example, strndup and strncpy because they may leave the string without a null termination, but also strdup and strndup because they can return nullptr and then all strdups would need to be guarded against.

Definition in file safeguards.h.

Macro Definition Documentation

◆ calloc

#define calloc   SAFEGUARD_DO_NOT_USE_THIS_METHOD

Definition at line 21 of file safeguards.h.

◆ fprintf

#define fprintf   SAFEGUARD_DO_NOT_USE_THIS_METHOD

Definition at line 52 of file safeguards.h.

◆ fputs

#define fputs   SAFEGUARD_DO_NOT_USE_THIS_METHOD

Definition at line 54 of file safeguards.h.

◆ gets

#define gets   SAFEGUARD_DO_NOT_USE_THIS_METHOD

Definition at line 45 of file safeguards.h.

◆ malloc

#define malloc   SAFEGUARD_DO_NOT_USE_THIS_METHOD

Definition at line 20 of file safeguards.h.

◆ printf

#define printf   SAFEGUARD_DO_NOT_USE_THIS_METHOD

Definition at line 51 of file safeguards.h.

◆ putchar

#define putchar   SAFEGUARD_DO_NOT_USE_THIS_METHOD

Definition at line 55 of file safeguards.h.

◆ puts

#define puts   SAFEGUARD_DO_NOT_USE_THIS_METHOD

Definition at line 53 of file safeguards.h.

◆ realloc

#define realloc   SAFEGUARD_DO_NOT_USE_THIS_METHOD

Definition at line 22 of file safeguards.h.

◆ snprintf

#define snprintf   SAFEGUARD_DO_NOT_USE_THIS_METHOD

Definition at line 38 of file safeguards.h.

◆ sprintf

#define sprintf   SAFEGUARD_DO_NOT_USE_THIS_METHOD

Definition at line 37 of file safeguards.h.

◆ strcat

#define strcat   SAFEGUARD_DO_NOT_USE_THIS_METHOD

Definition at line 33 of file safeguards.h.

◆ strcpy

#define strcpy   SAFEGUARD_DO_NOT_USE_THIS_METHOD

Definition at line 29 of file safeguards.h.

◆ strdup

#define strdup   SAFEGUARD_DO_NOT_USE_THIS_METHOD

Definition at line 25 of file safeguards.h.

◆ strncat

#define strncat   SAFEGUARD_DO_NOT_USE_THIS_METHOD

Definition at line 34 of file safeguards.h.

◆ strncpy

#define strncpy   SAFEGUARD_DO_NOT_USE_THIS_METHOD

Definition at line 30 of file safeguards.h.

◆ strndup

#define strndup   SAFEGUARD_DO_NOT_USE_THIS_METHOD

Definition at line 26 of file safeguards.h.

◆ strtok

#define strtok   SAFEGUARD_DO_NOT_USE_THIS_METHOD

Definition at line 48 of file safeguards.h.

◆ vsnprintf

#define vsnprintf   SAFEGUARD_DO_NOT_USE_THIS_METHOD

Definition at line 42 of file safeguards.h.

◆ vsprintf

#define vsprintf   SAFEGUARD_DO_NOT_USE_THIS_METHOD

Definition at line 41 of file safeguards.h.