summaryrefslogtreecommitdiffstats
path: root/lib/route
diff options
context:
space:
mode:
authorBeniamino Galvani <bgalvani@redhat.com>2021-06-16 09:56:25 (GMT)
committerBeniamino Galvani <bgalvani@redhat.com>2021-06-16 09:58:33 (GMT)
commit26f342d09947d5884014ec4a0553c094e41c60bc (patch)
treed3fede8c4bf4cf5f038efedc83848f8ee1d46c70 /lib/route
parentd1a151eb6fe603365d93526796b3fa7e64e1c0fd (diff)
downloadlibnl-26f342d09947d5884014ec4a0553c094e41c60bc.zip
libnl-26f342d09947d5884014ec4a0553c094e41c60bc.tar.gz
libnl-26f342d09947d5884014ec4a0553c094e41c60bc.tar.bz2
route/qdisc: handle error of calloc()
Diffstat (limited to 'lib/route')
-rw-r--r--lib/route/qdisc/netem.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/lib/route/qdisc/netem.c b/lib/route/qdisc/netem.c
index a3066eb..50122b8 100644
--- a/lib/route/qdisc/netem.c
+++ b/lib/route/qdisc/netem.c
@@ -936,9 +936,12 @@ int rtnl_netem_set_delay_distribution(struct rtnl_qdisc *qdisc, const char *dist
if (f == NULL)
return -nl_syserr2nlerr(errno);
- data = (int16_t *) calloc (MAXDIST, sizeof(int16_t));
-
- line = (char *) calloc (sizeof(char), len + 1);
+ data = (int16_t *) calloc(MAXDIST, sizeof(int16_t));
+ line = (char *) calloc(sizeof(char), len + 1);
+ if (!data || !line) {
+ fclose(f);
+ return -NLE_NOMEM;
+ }
while (getline(&line, &len, f) != -1) {
char *p, *endp;