---
# System prepended metadata

title: SEDE 3
tags: [' sécurité', ' ING1', ' security', ' software', ' développement', SEDE]

---

---
lang: fr
tags: SEDE, sécurité, développement, software, security, ING1
title: SEDE 3
---

# SEDE 3

==Low-hanging-fruit==: La plupart des hackers vont juste tenter des trucs de base et voir ailleurs si ça marche pas. A moins que vous ne soyez  une grosse cible (ils vont sortir l'artillerie lourde)


```cpp=
char *make_filename(const char *file, const char *dir)
{
    char buffer[MAXBUF];
    snprintf(buffer, sizeof buffer, "%s/%s", file, dir);
    return buffer;
}
```

Ici on return un pointeur local. Donc sa duréede vie est normalement limité à la fonction.

Demander un niveau d'optimisation plus élevé peut déclancher des erreurs car le compilo va plus analyser le code.

```cpp=
char *make_filename(const char *file, const char *dir)
{
    char *buffer = malloc(MAXBUF);
    snprintf(buffer, sizeof buffer, "%s/%s", file, dir);
    return buffer;
}
```

:::danger
Ici le problème vient du `sizeof` qui donne la taille du tableau dans le premier example mais la taille du pointeur dans cette exemple ci.
:::


