|
@@ -3177,11 +3177,11 @@ log_from_pipe(FILE *stream, int severity, const char *executable,
|
|
|
}
|
|
|
|
|
|
/* Check if buf starts with SPAWN_ERROR_MESSAGE */
|
|
|
- if (strstr(buf, SPAWN_ERROR_MESSAGE) == buf) {
|
|
|
+ if (strcmpstart(buf, SPAWN_ERROR_MESSAGE) == 0) {
|
|
|
/* Parse error message */
|
|
|
int retval, child_state, saved_errno;
|
|
|
- retval = sscanf(buf, SPAWN_ERROR_MESSAGE "%d/%d",
|
|
|
- &child_state, &saved_errno);
|
|
|
+ retval = tor_sscanf(buf, SPAWN_ERROR_MESSAGE "%x/%x",
|
|
|
+ &child_state, &saved_errno);
|
|
|
if (retval == 2) {
|
|
|
log_warn(LD_GENERAL,
|
|
|
"Failed to start child process \"%s\" in state %d: %s",
|