==21536== Conditional jump or move depends on uninitialised value(s) ==21536== at 0x40164A1: (within /lib/ld-2.11.1.so) ==21536== by 0x4007C04: (within /lib/ld-2.11.1.so) ==21536== by 0x4002A2C: (within /lib/ld-2.11.1.so) ==21536== by 0x4014206: (within /lib/ld-2.11.1.so) ==21536== by 0x4000C6C: (within /lib/ld-2.11.1.so) ==21536== by 0x4000856: (within /lib/ld-2.11.1.so) ==21536== ==21536== Conditional jump or move depends on uninitialised value(s) ==21536== at 0x40164AC: (within /lib/ld-2.11.1.so) ==21536== by 0x4007C04: (within /lib/ld-2.11.1.so) ==21536== by 0x4002A2C: (within /lib/ld-2.11.1.so) ==21536== by 0x4014206: (within /lib/ld-2.11.1.so) ==21536== by 0x4000C6C: (within /lib/ld-2.11.1.so) ==21536== by 0x4000856: (within /lib/ld-2.11.1.so) --21536-- Warning: DWARF2 CFI reader: unhandled DW_OP_ opcode 0x55 --21536-- Warning: DWARF2 CFI reader: unhandled DW_OP_ opcode 0x55 --21536-- DWARF2 CFI reader: unhandled CFI instruction 0:10 --21536-- DWARF2 CFI reader: unhandled CFI instruction 0:10 --21536-- DWARF2 CFI reader: unhandled CFI instruction 0:10 --21536-- DWARF2 CFI reader: unhandled CFI instruction 0:10 --21536-- DWARF2 CFI reader: unhandled CFI instruction 0:10 --21536-- DWARF2 CFI reader: unhandled CFI instruction 0:10 --21536-- DWARF2 CFI reader: unhandled CFI instruction 0:10 ==21536== ==21536== Conditional jump or move depends on uninitialised value(s) ==21536== at 0x400B217: (within /lib/ld-2.11.1.so) ==21536== by 0x40031D0: (within /lib/ld-2.11.1.so) ==21536== by 0x4014206: (within /lib/ld-2.11.1.so) ==21536== by 0x4000C6C: (within /lib/ld-2.11.1.so) ==21536== by 0x4000856: (within /lib/ld-2.11.1.so) ==21536== ==21536== Conditional jump or move depends on uninitialised value(s) ==21536== at 0x400AF0F: (within /lib/ld-2.11.1.so) ==21536== by 0x40031D0: (within /lib/ld-2.11.1.so) ==21536== by 0x4014206: (within /lib/ld-2.11.1.so) ==21536== by 0x4000C6C: (within /lib/ld-2.11.1.so) ==21536== by 0x4000856: (within /lib/ld-2.11.1.so) ==21536== ==21536== Conditional jump or move depends on uninitialised value(s) ==21536== at 0x400B27A: (within /lib/ld-2.11.1.so) ==21536== by 0x40031D0: (within /lib/ld-2.11.1.so) ==21536== by 0x4014206: (within /lib/ld-2.11.1.so) ==21536== by 0x4000C6C: (within /lib/ld-2.11.1.so) ==21536== by 0x4000856: (within /lib/ld-2.11.1.so) ==21536== ==21536== Conditional jump or move depends on uninitialised value(s) ==21536== at 0x400A5DE: (within /lib/ld-2.11.1.so) ==21536== by 0x40030FE: (within /lib/ld-2.11.1.so) ==21536== by 0x4014206: (within /lib/ld-2.11.1.so) ==21536== by 0x4000C6C: (within /lib/ld-2.11.1.so) ==21536== by 0x4000856: (within /lib/ld-2.11.1.so) ==21536== ==21536== Conditional jump or move depends on uninitialised value(s) ==21536== at 0x400A5E6: (within /lib/ld-2.11.1.so) ==21536== by 0x40030FE: (within /lib/ld-2.11.1.so) ==21536== by 0x4014206: (within /lib/ld-2.11.1.so) ==21536== by 0x4000C6C: (within /lib/ld-2.11.1.so) ==21536== by 0x4000856: (within /lib/ld-2.11.1.so) ==21536== ==21536== Conditional jump or move depends on uninitialised value(s) ==21536== at 0x400AF0F: (within /lib/ld-2.11.1.so) ==21536== by 0x40030FE: (within /lib/ld-2.11.1.so) ==21536== by 0x4014206: (within /lib/ld-2.11.1.so) ==21536== by 0x4000C6C: (within /lib/ld-2.11.1.so) ==21536== by 0x4000856: (within /lib/ld-2.11.1.so) ==21536== ==21536== Invalid read of size 8 ==21536== at 0x40B4785: (within /lib/tls/i686/cmov/libc-2.11.1.so) ==21536== by 0x8049EFB: main (vcutil.c:496) ==21536== Address 0x419d1b0 is 8 bytes before a block of size 120 alloc'd ==21536== at 0x4025D2E: malloc (vg_replace_malloc.c:207) ==21536== by 0x409DF9D: getdelim (in /lib/tls/i686/cmov/libc-2.11.1.so) ==21536== by 0x408F3A2: getline (in /lib/tls/i686/cmov/libc-2.11.1.so) ==21536== by 0x804947C: getUnfolded (vcutil.c:299) ==21536== by 0x8049EFB: main (vcutil.c:496) ==21536== ==21536== Conditional jump or move depends on uninitialised value(s) ==21536== at 0x40B47AD: (within /lib/tls/i686/cmov/libc-2.11.1.so) ==21536== by 0x8049EFB: main (vcutil.c:496) ==21536== ==21536== Conditional jump or move depends on uninitialised value(s) ==21536== at 0x8049524: getUnfolded (vcutil.c:307) ==21536== by 0x8049EFB: main (vcutil.c:496) --21536-- Warning: DWARF2 CFI reader: unhandled DW_OP_ opcode 0x55 VcStatus getUnfolded (FILE *const vcf, char **const buff) { //int const buffSize = 30; size_t lineSize = 0; int done = 0; //Set to one if the next line checked does not entail unfolding static char* queue = NULL; //A queue to store the next line read in static int lineNum = 0; char* buffer = NULL; //The dynamic memory that will be linked to buf int valid_line = 0; //Set to one if the line contains characters other then whitespace char* temp; //Used to point to the location of rn in the buffer VcStatus error; //Initialize VcStatus with appropriate values error.code = OK; error.linefrom = lineNum; error.lineto = 0; //Special case for resetting getUnfolded() if (vcf == NULL){ lineNum = 0; if (queue != NULL) queue = NULL; error.linefrom = 0; error.lineto = 0; return error; } //Copies any string contained in queue from last time into buffer if (queue != NULL) { buffer = malloc (strlen (queue)+1); strcpy (buffer, queue); strcpy (queue, ""); } //If the end of file has been reached, last line is returned. if (feof (vcf) != 0) { queue = NULL; lineNum += 1; if (buffer != NULL) { if (strcmp (buffer, "") != 0)*buff = buffer; } else *buff = NULL; return error; } while (done == 0) { //Gets a new line from the vcf file, and returns null if there is no more data to be returned getline (&queue, &lineSize, vcf); if (ferror(vcf) != 0) { error.code = IOERR; return error; } //Sets valid_line to 1 if the line read in contains any characters other then whitespace for (int i = 0; i < strlen (queue); i++){ if (queue[i] != 'r' && queue[i] != 'n' && queue[i] != ' ' && queue[i] != 't') valid_line = 1; } if (feof (vcf) && valid_line == 0) { queue = NULL; break; } if (valid_line == 1){ //Finds the 'internet standard' newline and replaces it with a null terminator temp = strstr (queue, "rn"); if (temp != NULL) strcpy (temp, ""); //Sets the buffer equal to contents of queue and resets queue if buffer is empty if (buffer == NULL) { buffer = malloc (strlen (queue)+1); lineNum = lineNum + 1; strcpy (buffer, queue); strcpy (queue, ""); //Checks for leading whitespace to indicate a folded line, and unfolds }else if (queue [0] == ' ' || queue [0] == 't') { lineNum = lineNum + 1; buffer = realloc (buffer, strlen (buffer)+strlen (queue)+2); strcat (buffer, queue+1); strcpy (queue, ""); //If both conditions above are false, buffer contains the next valid line }else{ error.lineto = lineNum; lineNum += 1; done = 1; } } } *buff = buffer; return error; } int main () { FILE* fp = fopen ("test.vcf", "r"); char * buff; getUnfolded (fp, &buff); }