don't ever set pointer outside of buffer
[oweals/ucert.git] / usign-exec.c
index 2ab2cd3c434bee4f5f8110feaa3feabab4591c82..21a24c2c7bf5a3031b1292aca12c11fc78b3a95b 100644 (file)
 
 #include "usign.h"
 
 
 #include "usign.h"
 
+#ifdef UCERT_HOST_BUILD
+#define USIGN_EXEC "usign"
+#else
 #define USIGN_EXEC "/usr/bin/usign"
 #define USIGN_EXEC "/usr/bin/usign"
+#endif
 
 /*
  * check for revoker deadlink in pubkeydir
 
 /*
  * check for revoker deadlink in pubkeydir
@@ -68,7 +72,13 @@ int usign_s(const char *msgfile, const char *seckeyfile, const char *sigfile, bo
                return -1;
 
        case 0:
                return -1;
 
        case 0:
-               if (execv(usign_argv[0], usign_argv))
+               if (
+#ifdef UCERT_HOST_BUILD
+                       execvp(usign_argv[0], usign_argv)
+#else
+                       execv(usign_argv[0], usign_argv)
+#endif
+                  )
                        return -1;
 
                break;
                        return -1;
 
                break;
@@ -131,7 +141,13 @@ static int usign_f(char *fingerprint, const char *pubkeyfile, const char *seckey
                close(fds[0]);
                close(fds[1]);
 
                close(fds[0]);
                close(fds[1]);
 
-               if (execv(usign_argv[0], usign_argv))
+               if (
+#ifdef UCERT_HOST_BUILD
+                   execvp(usign_argv[0], usign_argv)
+#else
+                   execv(usign_argv[0], usign_argv)
+#endif
+                  )
                        return -1;
 
                break;
                        return -1;
 
                break;
@@ -230,7 +246,13 @@ int usign_v(const char *msgfile, const char *pubkeyfile,
                return -1;
 
        case 0:
                return -1;
 
        case 0:
-               if (execv(usign_argv[0], usign_argv))
+               if (
+#ifdef UCERT_HOST_BUILD
+                   execvp(usign_argv[0], usign_argv)
+#else
+                   execv(usign_argv[0], usign_argv)
+#endif
+                  )
                        return -1;
 
                break;
                        return -1;
 
                break;