gdb: add target_ops::supports_displaced_step
[deliverable/binutils-gdb.git] / libiberty / pexecute.c
index f486252bd73a50a5a9bbd480e9f3316e118b6a2b..2dfcdda68d4f7463d0fa07de10efe1dc3163d93c 100644 (file)
@@ -1,6 +1,6 @@
 /* Utilities to execute a program in a subprocess (possibly linked by pipes
    with other subprocesses), and wait for it.
-   Copyright (C) 2004 Free Software Foundation, Inc.
+   Copyright (C) 2004-2020 Free Software Foundation, Inc.
 
 This file is part of the libiberty library.
 Libiberty is free software; you can redistribute it and/or
@@ -47,7 +47,7 @@ pexecute (const char *program, char * const *argv, const char *pname,
     {
       if (pex != NULL)
        {
-         *errmsg_fmt = "pexecute already in progress";
+         *errmsg_fmt = (char *) "pexecute already in progress";
          *errmsg_arg = NULL;
          return -1;
        }
@@ -58,7 +58,7 @@ pexecute (const char *program, char * const *argv, const char *pname,
     {
       if (pex == NULL)
        {
-         *errmsg_fmt = "pexecute not in progress";
+         *errmsg_fmt = (char *) "pexecute not in progress";
          *errmsg_arg = NULL;
          return -1;
        }
@@ -99,9 +99,12 @@ pwait (int pid, int *status, int flags ATTRIBUTE_UNUSED)
     {
       int *vector;
 
-      vector = xmalloc (idx * sizeof (int));
+      vector = XNEWVEC (int, idx);
       if (!pex_get_status (pex, idx, vector))
-       return -1;
+       {
+         free (vector);
+         return -1;
+       }
       *status = vector[pid];
       free (vector);
     }
This page took 0.02542 seconds and 4 git commands to generate.