• Stanislav Fomichev's avatar
    selftests/bpf: test_progs: fix verbose mode garbage · d80507d1
    Stanislav Fomichev authored
    fseeko(.., 0, SEEK_SET) on a memstream just puts the buffer pointer
    to the beginning so when we call fflush on it we get some garbage
    log data from the previous test. Let's manually set terminating
    byte to zero at the reported buffer size.
    
    To show the issue consider the following snippet:
    
    	stream = open_memstream (&buf, &len);
    
    	fprintf(stream, "aaa");
    	fflush(stream);
    	printf("buf=%s, len=%zu\n", buf, len);
    	fseeko(stream, 0, SEEK_SET);
    
    	fprintf(stream, "b");
    	fflush(stream);
    	printf("buf=%s, len=%zu\n", buf, len);
    
    Output:
    
    	buf=aaa, len=3
    	buf=baa, len=1
    
    Fixes: 946152b3 ("selftests/bpf: test_progs: switch to open_memstream")
    Signed-off-by: default avatarStanislav Fomichev <sdf@google.com>
    Signed-off-by: default avatarDaniel Borkmann <daniel@iogearbox.net>
    d80507d1
test_progs.c 10.6 KB