projects
/
yaz-moved-to-github.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
zoomsh: check for ext type parameter
[yaz-moved-to-github.git]
/
zoom
/
zoomsh.c
diff --git
a/zoom/zoomsh.c
b/zoom/zoomsh.c
index
601dafc
..
26aab7b
100644
(file)
--- a/
zoom/zoomsh.c
+++ b/
zoom/zoomsh.c
@@
-1,5
+1,5
@@
/* This file is part of the YAZ toolkit.
/* This file is part of the YAZ toolkit.
- * Copyright (C) 1995-2011 Index Data
+ * Copyright (C) 1995-2012 Index Data
* See the file LICENSE for details.
*/
/** \file zoomsh.c
* See the file LICENSE for details.
*/
/** \file zoomsh.c
@@
-401,6
+401,12
@@
static int cmd_ext(ZOOM_connection *c, ZOOM_resultset *r,
int ret = 0;
WRBUF ext_type_str = next_token_new_wrbuf(args);
int ret = 0;
WRBUF ext_type_str = next_token_new_wrbuf(args);
+ if (!ext_type_str)
+ {
+ printf("es: missing type "
+ "(itemorder, create, drop, commit, update, xmlupdate)\n");
+ return 1;
+ }
for (i = 0; i<MAX_CON; i++)
{
if (c[i])
for (i = 0; i<MAX_CON; i++)
{
if (c[i])
@@
-785,7
+791,7
@@
static int shell(ZOOM_connection *c, ZOOM_resultset *r,
int res = 0;
while (res == 0)
{
int res = 0;
while (res == 0)
{
- char buf[1000];
+ char buf[100000];
char *cp;
const char *bp = buf;
#if HAVE_READLINE_READLINE_H
char *cp;
const char *bp = buf;
#if HAVE_READLINE_READLINE_H
@@
-800,7
+806,7
@@
static int shell(ZOOM_connection *c, ZOOM_resultset *r,
if (*line_in)
add_history(line_in);
#endif
if (*line_in)
add_history(line_in);
#endif
- if (strlen(line_in) > 999)
+ if (strlen(line_in) > sizeof(buf)-1)
{
printf("Input line too long\n");
res = 1;
{
printf("Input line too long\n");
res = 1;
@@
-810,7
+816,7
@@
static int shell(ZOOM_connection *c, ZOOM_resultset *r,
free(line_in);
#else
printf("ZOOM>"); fflush(stdout);
free(line_in);
#else
printf("ZOOM>"); fflush(stdout);
- if (!fgets(buf, 999, stdin))
+ if (!fgets(buf, sizeof(buf)-1, stdin))
{
res = -1;
break;
{
res = -1;
break;