projects
/
lttng-tools.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix copy_string dst validation
[lttng-tools.git]
/
ltt-sessiond
/
kernel-ctl.c
diff --git
a/ltt-sessiond/kernel-ctl.c
b/ltt-sessiond/kernel-ctl.c
index 419d1af7b3fa1b129689ce89fd2e0cc6ee3e5078..3879c2bbb3bc9c9bda33d47564ee5a9c0ccc0471 100644
(file)
--- a/
ltt-sessiond/kernel-ctl.c
+++ b/
ltt-sessiond/kernel-ctl.c
@@
-25,7
+25,7
@@
#include <unistd.h>
#include "lttngerr.h"
#include <unistd.h>
#include "lttngerr.h"
-#include "
lib
kernelctl.h"
+#include "kernelctl.h"
#include "kernel-ctl.h"
/*
#include "kernel-ctl.h"
/*
@@
-587,7
+587,7
@@
ssize_t kernel_list_events(int tracer_fd, struct lttng_event **events)
fp = fdopen(fd, "r");
if (fp == NULL) {
perror("kernel tracepoint list fdopen");
fp = fdopen(fd, "r");
if (fp == NULL) {
perror("kernel tracepoint list fdopen");
- goto error;
+ goto error
_fp
;
}
/*
}
/*
@@
-606,7
+606,8
@@
ssize_t kernel_list_events(int tracer_fd, struct lttng_event **events)
elist = realloc(elist, nbmem);
if (elist == NULL) {
perror("realloc list events");
elist = realloc(elist, nbmem);
if (elist == NULL) {
perror("realloc list events");
- goto error;
+ count = -ENOMEM;
+ goto end;
}
}
strncpy(elist[count].name, event, LTTNG_SYMBOL_NAME_LEN);
}
}
strncpy(elist[count].name, event, LTTNG_SYMBOL_NAME_LEN);
@@
-615,11
+616,13
@@
ssize_t kernel_list_events(int tracer_fd, struct lttng_event **events)
}
*events = elist;
}
*events = elist;
-
DBG("Kernel list events done (%zu events)", count);
DBG("Kernel list events done (%zu events)", count);
-
+end:
+ fclose(fp); /* closes both fp and fd */
return count;
return count;
+error_fp:
+ close(fd);
error:
return -1;
}
error:
return -1;
}
This page took
0.026885 seconds
and
5
git commands to generate.