Bug Summary

File:src/linux/ptrace.c
Location:line 24, column 2
Description:Undefined or garbage value returned to caller

Annotated Source Code

1#include <sys/ptrace.h>
2#include <stdarg.h>
3#include <unistd.h>
4#include "syscall.h"
5
6long ptrace(int req, ...)
7{
8 va_list ap;
9 pid_t pid;
10 void *addr, *data, *addr2;
11 long ret, result;
1
'result' declared without an initial value
12
13 va_start(ap, req)__builtin_va_start(ap,req);
14 pid = va_arg(ap, pid_t)__builtin_va_arg(ap,pid_t);
15 addr = va_arg(ap, void *)__builtin_va_arg(ap,void *);
16 data = va_arg(ap, void *)__builtin_va_arg(ap,void *);
17 addr2 = va_arg(ap, void *)__builtin_va_arg(ap,void *);
18 va_end(ap)__builtin_va_end(ap);
19
20 if (req-1U < 3) data = &result;
2
Taking true branch
21 ret = syscall(SYS_ptrace, req, pid, addr, data, addr2)__syscall_ret(__syscall5(101,((long) (req)),((long) (pid)),((
long) (addr)),((long) (data)),((long) (addr2))))
;
22
23 if (ret < 0 || req-1U >= 3) return ret;
3
Assuming 'ret' is >= 0
4
Taking false branch
24 return result;
5
Undefined or garbage value returned to caller
25}