#include <apt-pkg/fileutl.h>
#include <apt-pkg/indexcopy.h>
#include <apt-pkg/configuration.h>
+#include <apt-pkg/gpgv.h>
#include <utime.h>
#include <stdio.h>
if (pid < 0)
return string("Couldn't spawn new process") + strerror(errno);
else if (pid == 0)
- {
- _error->PushToStack();
- bool const success = SigVerify::RunGPGV(outfile, file, 3, fd);
- if (success == false)
- {
- string errmsg;
- _error->PopMessage(errmsg);
- _error->RevertToStack();
- return errmsg;
- }
- _error->RevertToStack();
- exit(111);
- }
+ ExecGPGV(outfile, file, 3, fd);
close(fd[1]);
FILE *pipein = fdopen(fd[0], "r");
// Read a line. Sigh.
while ((c = getc(pipein)) != EOF && c != '\n')
{
- if (bufferoff == buffersize)
- buffer = (char *) realloc(buffer, buffersize *= 2);
+ if (bufferoff == buffersize)
+ {
+ char* newBuffer = (char *) realloc(buffer, buffersize *= 2);
+ if (newBuffer == NULL)
+ {
+ free(buffer);
+ return "Couldn't allocate a buffer big enough for reading";
+ }
+ buffer = newBuffer;
+ }
*(buffer+bufferoff) = c;
bufferoff++;
}