1 #include <assert.h> 2 #include <stdlib.h> 3 #include <sys/capability.h> 4 5 /* 6 * Original from http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=400591 7 * 8 * Modified to test more functions.. AGM - 2008/07/06. 9 */ 10 11 int main (int argc, char *argv[]) 12 { 13 cap_t caps, caps2; 14 ssize_t size, copy_size; 15 void *buffer; 16 char *text1, *text2; 17 18 assert((caps = cap_get_pid(1))); 19 20 text1 = cap_to_text(caps, NULL); 21 assert(text1); 22 23 size = cap_size (caps); 24 assert (size>0 && size<1024); 25 26 buffer = malloc (size); 27 assert (buffer); 28 29 copy_size = cap_copy_ext (buffer, caps, size); 30 assert (copy_size == size); 31 32 caps2 = cap_copy_int(buffer); 33 assert (caps2); 34 35 text2 = cap_to_text(caps2, NULL); 36 assert(text2); 37 38 assert(strcmp(text1, text2) == 0); 39 40 assert(cap_compare(caps, caps2) == 0); 41 42 return 0; 43 } 44