[coreboot-gerrit] Patch merged into coreboot/master: 64c6cd7 cbfstool: Add offset field to cbfstool directory's struct buffer

gerrit at coreboot.org gerrit at coreboot.org
Fri May 8 20:25:13 CEST 2015


the following patch was just integrated into master:
commit 64c6cd73f3567e893a9cde7d08eb5505c1a19c62
Author: Sol Boucher <solb at chromium.org>
Date:   Sun Apr 26 02:32:43 2015 -0700

    cbfstool: Add offset field to cbfstool directory's struct buffer
    
    This allows calls to buffer_delete() to work on a buffer that has been
    buffer_seek()ed or the buffer created by a buffer_splice(). The same
    information could also be useful for other purposes, such as writing
    slices back to a file at the offset they originally occupied.
    
    BUG=chromium:470407
    TEST=Attempt to perform the following sequence of buffer actions, then run it
    through valgrind to check for memory errors:
    for (int pos = 0; pos <= 3; ++pos) {
    	struct buffer seek_test;
    	buffer_create(&seek_test, 3, "seek_test");
    	if (pos == 0) {
    		buffer_delete(&seek_test);
    		continue;
    	}
    	buffer_seek(&seek_test, 1);
    	if (pos == 1) {
    		buffer_delete(&seek_test);
    		continue;
    	}
    	buffer_seek(&seek_test, 1);
    	if (pos == 2) {
    		buffer_delete(&seek_test);
    		continue;
    	}
    	buffer_seek(&seek_test, 1);
    	if (pos == 3) {
    		buffer_delete(&seek_test);
    		continue;
    	}
    }
    for (int pos = 0; pos <= 14; ++pos) {
    	struct buffer slice_test;
    	buffer_create(&slice_test, 3, "slice_test");
    	if (pos == 0) {
    		buffer_delete(&slice_test);
    		continue;
    	}
    	struct buffer sliced_once;
    	buffer_splice(&sliced_once, &slice_test, 1, 2);
    	if (pos == 1) {
    		buffer_delete(&slice_test);
    		continue;
    	}
    	if (pos == 2) {
    		buffer_delete(&sliced_once);
    		continue;
    	}
    	struct buffer sliced_twice;
    	buffer_splice(&sliced_twice, &sliced_once, 2, 1);
    	if (pos == 3) {
    		buffer_delete(&slice_test);
    		continue;
    	}
    	if (pos == 4) {
    		buffer_delete(&sliced_once);
    		continue;
    	}
    	if (pos == 5) {
    		buffer_delete(&sliced_twice);
    		continue;
    	}
    	struct buffer sliced_same;
    	buffer_splice(&sliced_same, &slice_test, 1, 1);
    	if (pos == 6) {
    		buffer_delete(&slice_test);
    		continue;
    	}
    	if (pos == 7) {
    		buffer_delete(&sliced_once);
    		continue;
    	}
    	if (pos == 8) {
    		buffer_delete(&sliced_twice);
    		continue;
    	}
    	if (pos == 9) {
    		buffer_delete(&sliced_same);
    		continue;
    	}
    	struct buffer sliced_thrice;
    	buffer_splice(&sliced_thrice, &sliced_twice, 1, 0);
    	if (pos == 10) {
    		buffer_delete(&slice_test);
    		continue;
    	}
    	if (pos == 11) {
    		buffer_delete(&sliced_once);
    		continue;
    	}
    	if (pos == 12) {
    		buffer_delete(&sliced_twice);
    		continue;
    	}
    	if (pos == 13) {
    		buffer_delete(&sliced_same);
    		continue;
    	}
    	if (pos == 14) {
    		buffer_delete(&sliced_thrice);
    		continue;
    	}
    }
    BRANCH=None
    
    Change-Id: Id67734654a62302c0de37746d8a978d49b240505
    Signed-off-by: Sol Boucher <solb at chromium.org>
    Original-Commit-Id: 00c40982a21a91a488587dd3cead7109f3a30d98
    Original-Change-Id: Ie99839d36500d3270e4924a3477e076a6d27ffc8
    Original-Signed-off-by: Sol Boucher <solb at chromium.org>
    Original-Reviewed-on: https://chromium-review.googlesource.com/267467
    Original-Reviewed-by: Aaron Durbin <adurbin at chromium.org>
    Reviewed-on: http://review.coreboot.org/10133
    Tested-by: build bot (Jenkins)
    Reviewed-by: Patrick Georgi <pgeorgi at google.com>


See http://review.coreboot.org/10133 for details.

-gerrit



More information about the coreboot-gerrit mailing list