/Cave

Misc utilities

Primary LanguagePythonApache License 2.0Apache-2.0

Cave

This repo contains miscellanous utilities that can help:

  • malloc-check.py: this script tries to find unchecked calls to malloc / calloc / strdup / _strdup. The script is very basic, it works well when you have a sane codestyle.

It considers that this case is checked by the caller

void *my_func() {
  /* code here */
    return malloc(12);
}

It will check for

a = b = malloc(12);

and will try to find a if statement in the 5 next lines checking for either a or b.

If we have this

if ((a = malloc(12))) {
  /* code */
}

it considers it as a checked malloc call.

The script can be invoked with:

  • no argument: it will do a git ls-files and will do checks on these files;
  • --stdin: it will scan files taken from stdin with one filename per line;
  • a filename: it will read the file and consider it contains the list of files to scan (one filename per line)

Checks are done on files with the c, cpp and cxx extension.

  • massive-rename.py: this script is there to do some renaming in files. I can't remember sed syntax, this script does some massive replacement in files registered in git.

  • phantom3-video.cpp: a C program that connects on you DJI phantom 3 drone's camera (at 192.168.1.3) and will extract the H264 from the UDT stream. A typical invocation is:

# ./phantom3-video | mplayer -demuxer h264es -framedrop -benchmark -

If you have a 3 or more second delay, I have it too :) To compile this you need UDT development headers.