[klee-dev] A question about specifying symbolic files
Daniel Schwartz
d.schwartz at columbia.edu
Sun Oct 1 03:08:37 BST 2017
Hi Peng,
You need to give the symbolic file a "name", that will then be given
symbolic value.
Try "klee --posix-runtime --libc=uclibc xxx.bc A --sym-files 1 1024".
You should be able to print argv[1] and see that it's "A".
Best,
Daniel Schwartz
On Sat, Sep 30, 2017 at 1:16 AM, li peng <poppeter1982 at gmail.com> wrote:
> Hi All
>
> I have question about how to set a symbolic file in POSIX runtime.
>
> Suppose I have the following snippet of code:
>
> #include <stdio.h>
>
> #include <stdlib.h>
>
> #include <string.h>
>
>
> int main(int argc, char** argv) {
>
> char* filename = argv[1];
>
> char *buf = (char*)malloc(2);
>
>
> FILE* fd = fopen(filename, "r");
>
> if (fd != NULL) {
>
> char *line = NULL;
>
> size_t len = 0;
>
> ssize_t read;
>
>
> while ((read = getline(&line, &len, fd)) != -1) {
>
> char buffer[1024];
>
> strcpy(buffer, line);
>
> buffer[strcspn(buffer, "\r\n")] = 0;
>
>
> if (strcmp(buffer, "abc") == 0) {
>
> printf(">>> buffer is abc \n");
>
> free(buf);
>
> } else {
>
> if (strcmp(buffer, "abcd") == 0) {
>
> // OOB here
>
> printf(">>> buffer is abcd \n");
>
> buf[3] = 'c';
>
> }
>
> }
>
> }
>
> }
>
> fclose(fd);
>
> return 0;
>
> }
>
> Regarding this program, can you please show how to specify the symbolic
> file as the first argument? I tried the command "klee --posix-runtime
> --libc=uclibc xxx.bc --sym-files 1 1024", but it does not work.
>
> Answers are highly appreciated!
>
> Thanks
>
> Peng
>
>
> _______________________________________________
> klee-dev mailing list
> klee-dev at imperial.ac.uk
> https://mailman.ic.ac.uk/mailman/listinfo/klee-dev
>
>
-------------- next part --------------
HTML attachment scrubbed and removed
More information about the klee-dev
mailing list