]> git.sur5r.net Git - bacula/bacula/commitdiff
kes Fix Verify InitCatalog mysql_escape_string() trashing memory.
authorKern Sibbald <kern@sibbald.com>
Tue, 22 May 2007 20:52:00 +0000 (20:52 +0000)
committerKern Sibbald <kern@sibbald.com>
Tue, 22 May 2007 20:52:00 +0000 (20:52 +0000)
     Make buffer bigger.

git-svn-id: https://bacula.svn.sourceforge.net/svnroot/bacula/trunk@4881 91ce42f0-d328-0410-95d8-f526ca767f89

bacula/src/cats/mysql.c
bacula/src/dird/fd_cmds.c
bacula/technotes-2.1

index 6c4d6b09e44b97d26ffd8b332ebd73a10741791e..3fd611d42fff35f41f340cbec653a86354ece6da 100644 (file)
@@ -299,7 +299,7 @@ db_escape_string(char *snew, char *old, int len)
 {
    mysql_escape_string(snew, old, len);
 
-#ifdef DO_IT_MYSELF
+#ifdef xDO_IT_MYSELF
 
 /* Should use mysql_real_escape_string ! */
 unsigned long mysql_real_escape_string(MYSQL *mysql, char *to, const char *from, unsigned long length);
index 057742e0b5afecab7e2dda9a5f6f4e36f392a9bf..d0df6123b1de8ec091214fe0d212f69d6b637980 100644 (file)
@@ -599,7 +599,7 @@ int get_attributes_and_put_in_catalog(JCR *jcr)
    BSOCK   *fd;
    int n = 0;
    ATTR_DBR *ar = NULL;
-   char digest[CRYPTO_DIGEST_MAX_SIZE];
+   char digest[MAXSTRING];
 
    fd = jcr->file_bsock;
    jcr->jr.FirstIndex = 1;
@@ -677,9 +677,9 @@ int get_attributes_and_put_in_catalog(JCR *jcr)
                stream_to_ascii(stream), file_index, jcr->FileIndex);
             continue;
          }
-         db_escape_string(digest, Digest, strlen(Digest));
          ar->Digest = digest;
          ar->DigestType = crypto_digest_stream_type(stream);
+         db_escape_string(digest, Digest, strlen(Digest));
          Dmsg4(dbglvl, "stream=%d DigestLen=%d Digest=%s type=%d\n", stream,
                strlen(digest), digest, ar->DigestType);
       }
@@ -688,7 +688,7 @@ int get_attributes_and_put_in_catalog(JCR *jcr)
    }
    if (is_bnet_error(fd)) {
       Jmsg1(jcr, M_FATAL, 0, _("<filed: Network error getting attributes. ERR=%s\n"),
-                        bnet_strerror(fd));
+            fd->bstrerror());
       return 0;
    }
    if (jcr->cached_attribute) {
index 08b1e741358194c16e449eaf9077969155802ef2..fee97325ef31e6ee966d6fdc605c7a6efd511c1e 100644 (file)
@@ -2,6 +2,8 @@
 
 General:
 22May07
+kes  Fix Verify InitCatalog mysql_escape_string() trashing memory.
+     Make buffer bigger.
 kes  Fix Verify InitCatalog. The attributes were not pointing to the
      correct saved location.
 kes  Implement message callback so that GUI is sure to get all